日期:2014-05-17  浏览次数:20810 次

数据库输出数据问题
我用这个输出数据库中的数据
while(rs.next()&&i<3){
       
out.println("<form action='Getcollection.jsp' method='post'>");
     
out.println("<tr align='center' bgcolor='#97B6FF'>" );
     
out.println("<td><a href='' style='text-decoration:none'>"+rs.getString(1)+"</a></td>");
     
out.println("<td>"+rs.getString(2)+"</td>");
     
out.println("<td>"+rs.getString(3)+"</td>");
     
out.println("<td>"+rs.getString(4)+"</td>");
     
out.println("<input type=\'hidden\'"+" name=\'collection\'"+" value="+"\'"+rs.getString(1)+"\'"+"/>");
     
out.println("<td><input type='submit' value='收藏'/></td>");
     
out.println("</tr>");  
     
out.println("</from>") ; 
用这个显示  
 String sql="select BookName,Author,Category,Publishment from book where BookName='"+collection+"'";
       ResultSet rs=stmt.executeQuery(sql); 
      
       
while(rs.next()){
     
out.println("<tr align='center' bgcolor='#97B6FF'>" );
     
out.println("<td><a href='' style='text-decoration:none'>"+rs.getString(1)+"</a></td>");
     
out.println("<td>"+rs.getString(2)+"</td>");
     
out.println("<td>"+rs.getString(3)+"</td>");
     
out.println("<td>"+rs.getString(4)+"</td>");
     
     
out.println("</tr>");
为什么我点收藏的时候怎是显示数据库中的第一行。
求大神帮忙解释一下,怎么可以输出对应的那行。        
数据库

------解决方案--------------------
应该是你hidden传到收藏页面的参数值不对,总是传第一个呗。

试试这个,红色部分换成你的收藏功能的url,另外不要hidden传值:
out.println("<td><a href=collect.do?collection='" + rs.getString(1) + " ' style='text-decoration:none'>"