2014-09-05 2 views
0

데이터베이스의 항목을 표시하는 테이블이 있습니다. 첫 번째 ResultSet에서 항목을 사용할 수 있는지 여부를 선택할 수있는 드롭 다운 메뉴를 만들었습니다. 하지만, 첫 번째 ResultSet rs에서 작성했기 때문에 두 번째 ResultSet rs1에서 사용할 수 없습니다.JSP - SQL 데이터베이스의 값 변경

if (request.getParameter(rs1.getString("naziv") + "polje").equals("Nedostupno")) 

그리고 여기에 전체 코드입니다 : 문제는이 라인에 이것은 왜

<%@page import="java.sql.DriverManager"%> 
<%@page import="java.sql.ResultSet"%> 
<%@page import="java.sql.Statement"%> 
<%@page import="java.sql.Connection"%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 

<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="Stil/cssstil.css"> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Prikaz oružja</title> 
</head> 
<body> 
    <h1>Prikaz oruzja</h1> 
    <% 
     out.print("<p align = \"center\">Administrator <a style=\"color:red;\">" +  session.getAttribute("user") + "</a></p>"); 
    %> 
    <table align = "center" bgcolor = "darkgrey" border = "1" cellpadding="3" cellspacing="1"> 
     <tr> 
      <td> 
       <p style = "color: black;">Naziv</p> 
      </td> 
      <td> 
       <p style = "color: black;">Opis</p> 
      </td> 
      <td> 
       <p style = "color: black;">Cena</p> 
      </td> 
      <td> 
       <p style = "color: black;">Dostupnost</p> 
      </td> 
      <td> 

      </td> 
     </tr> 
     <% 
      try { 
       Class.forName("com.mysql.jdbc.Driver"); 
       Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/CS230-Projekat", "root", "123"); 
       Statement statement = connection.createStatement(); 
       String sql = "SELECT * FROM oruzje"; 
       ResultSet rs = statement.executeQuery(sql); 
       while (rs.next()) { 
     %> 
     <tr bgcolor="grey"> 

      <td><%=rs.getString("naziv")%></td> 
      <td><%=rs.getString("opis")%></td> 
      <td><%=rs.getString("cena")%></td> 
      <% 
       if (rs.getString("dostupnost").equals("1")) { 
        out.print("<td><p style = \"color: green; font-size: 20px\">Dostupno</p></td>"); 

       } else { 
        out.print("<td><p style = \"color: red; font-size: 20px\">Nedostupno</p></td>"); 
       } 
      %> 
      <% 
        int a = rs.getInt("dostupnost"); 
        if (a == 1) { 
         out.print("<td><select name=\"" + rs.getString("naziv") + "polje\"><option value = \"Dostupno\">Dostupno</option><option value = \"Nedostupno\">Nedostupno</option></select></td>"); 
        } else { 
         out.print("<td><select name=\"" + rs.getString("naziv") + "polje\"><option value = \"Dostupno\">Dostupno</option><option value = \"Nedostupno\">Nedostupno</option></select></td>"); 
        } 
       } 


      %> 
     </tr> 
     <tr><td></td><td></td><td></td><td></td> 
      <td align=center> 
       <form method="post"> 
        <%  Statement statement1 = connection.createStatement(); 
          int bre; 
          ResultSet rs1 = statement.executeQuery(sql); 
          while (rs1.next()) { 
           if (request.getParameter(rs1.getString("naziv") + "polje").equals("Nedostupno")) { 
            bre = statement1.executeUpdate("UPDATE oruzje SET dostupnost = 0 WHERE naziv='" + rs1.getString("naziv") + "'"); 
           } else { 
            bre = statement1.executeUpdate("UPDATE oruzje SET dostupnost = 0 WHERE naziv='" + rs1.getString("naziv") + "'"); 
           } 

          } 
         } catch (Exception e) { 
          e.printStackTrace(); 
         } 

        %> 
        <input type="submit" value="Apply" name="Apply" /> 
       </form> 
      </td> 
     </tr> 
    </table> 

    <p style=" position: absolute; bottom: 0; left: 0; width: 100%; text-align: center;"><a href ="index.jsp"><img src = "Slike/home.png" alt = "home"/></a></p> 
</body> 

+1

HTML 구성 요소에 * 동적 이름을 사용하지 않는 것이 좋습니다. 또한 코드에서 스크립틀릿을 사용하지 마십시오. –

+0

코드가 잘못되었음을 안다.하지만 이것은 학교 과제이며 최대한 빨리 끝내야한다. 그래서 나는 연구를 할 시간이별로 없다는 것을 알 수있다. 코드를 완전히 변경하지 않고도이 문제를 해결할 수 있습니까? –

+0

다시 : ** HTML 구성 요소에 동적 이름을 사용하지 않는 것이 좋습니다 **. 그렇게 할 필요가 없습니다. '