And Image Viewer using Ajax
This is a image viewer made using Ajax its cool no refreshing and realy quick thats the good
You should have a connection class to connect to a database (here i used mysql and the Ide was netbeans) this code should do the job to get data
of Ajax
var xmlHttp; function show(i){ document.getElementById("state").value="1"; document.getElementById("num").value=i; showPics(); } function showPics() { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Your browser does not support AJAX!"); return; } xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("Get","getpics",true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { if(xmlHttp.status==200){ var pics=new Array(); var xmlDoc=xmlHttp.responseXML.documentElement; var links = xmlDoc.getElementsByTagName("picture"); var state= document.getElementById("state").value; var num = document.getElementById("num").value; for ( var i = 0; i < 3; ++i ) { try{ pics[i] = links[i].childNodes[0].nodeValue.toString(); }catch(err){ break; } } if(state=="0"){ for(x in pics){ var l=(++x); document.getElementById("pic"+l).src="./images/"+pics[--x]; } }else{ document.getElementById("pict").src="./images/"+pics[--num]; } } } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> <input type="hidden" name="name" value="0" id="state"/> <input type="hidden" name="name" value="" id="num"/> <pre> <center><img src="" id="pict" width="344" height="200"/></center> <% connection con=new connection(); ResultSet rst=con.getDataP(); rst.last(); int num=rst.getRow(); for(int i=1;i<=num;i++){ out.print("<img src="+""+" width="+"128"+" onclick="+"show("+i+");"+" height="+"133"+" id="+"pic"+i+"<"); } %>
public ResultSet getDataP(){ ResultSet rst=null; try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/[name of the database]","root","[your mysql password"); Statement stm=con.createStatement(); rst=stm.executeQuery("select * from [name of the table]"); }catch(Exception e){ } return rst; }
And for the command xmlHttp.open("Get","getpics",true); to work you should have a servlet that converts the database info to xml format
lets name it getPics.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/xml"); PrintWriter out = response.getWriter(); response.setHeader("Cache-Control","no-cache"); try { connection con=new connection(); ResultSet rst=con.getDataP(); out.print("<userpic>"); while(rst.next()){ out.print("<picID>"+rst.getString(1)+"</picID>"); out.print("<picture>"+rst.getString(2)+"</picture>"); } out.print("</userpic>"); }catch(Exception e) { } }
Comments
Post a Comment