hi i want to view the data from database by selecting a value in a drop down list. for an example drop down list have picture element.when click it select pictures from the database. thanks
<%@page import="java.sql.*"%> <html> <form method="post" action="picture.jsp"> <select name='pic'> <option value="none">Select</option> <% Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("Select * from image"); while(rs.next()){ %> <option value="<%=rs.getString("imagename")%>"><%=rs.getString("imagename")%></option> <% } %> </select> <input type="submit" value="Submit"> </form> </html>
continue......
picture.jsp:
<%@page import="java.sql.*"%> <%@page import="java.io.*"%> <% String iname=request.getParameter("pic"); try{ InputStream sImage; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); Statement stmt = con.createStatement(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("SELECT images FROM image WHERE imagename ='"+iname+"'"); if(rs.next()){ byte[] bytearray = new byte[1048576]; int size=0; sImage = rs.getBinaryStream(1); response.reset(); response.setContentType("image/jpeg"); while((size=sImage.read(bytearray))!= -1 ){ response.getOutputStream().write(bytearray,0,size); } } } catch(Exception e){ System.out.println(e); } %>
continue......
picture.jsp:
<%@page import="java.sql.*"%> <%@page import="java.io.*"%> <% String iname=request.getParameter("pic"); try{ InputStream sImage; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); Statement stmt = con.createStatement(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("SELECT images FROM image WHERE imagename ='"+iname+"'"); if(rs.next()){ byte[] bytearray = new byte[1048576]; int size=0; sImage = rs.getBinaryStream(1); response.reset(); response.setContentType("image/jpeg"); while((size=sImage.read(bytearray))!= -1 ){ response.getOutputStream().write(bytearray,0,size); } } } catch(Exception e){ System.out.println(e); } %>
Try the following code:
1)selectpicture.jsp:
<%@page import="java.sql.*"%> <html> <form method="post" action="picture.jsp"> <select name='pic'> <option value="none">Select</option> <% Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("Select * from image"); while(rs.next()){ %> <option value="<%=rs.getString("imagename")%>"><%=rs.getString("imagename")%></option> <% } %> </select> <input type="submit" value="Submit"> </form> </html>
2)picture.jsp:
<%@page import="java.sql.*"%> <%@page import="java.io.*"%> <% String iname=request.getParameter("pic"); try{ InputStream sImage; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); Statement stmt = con.createStatement(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("SELECT images FROM image WHERE imagename ='"+iname+"'"); if(rs.next()){ byte[] bytearray = new byte[1048576]; int size=0; sImage = rs.getBinaryStream(1); response.reset(); response.setContentType("image/jpeg"); while((size=sImage.read(bytearray))!= -1 ){ response.getOutputStream().write(bytearray,0,size); } } } catch(Exception e){ System.out.println(e); } %>
thanks a lot :)