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 :)