0

私は、ユーザーがカテゴリ、タイトル、またはリリース年で検索できる検索フォームを使用して、映画のコレクションを閲覧できる jsp ページに取り組んでいます。検索条件がない場合は、すべての動画が表示されます。私の問題は、 *リリース年による検索は正常に機能しますが、タイトルによる検索は機能せず、何も表示されずに結果が表示されない* タイトルによる検索は、年の検索の最後に配置すると機能し、機能しません。逆に

 <% 

         String s1 = request.getParameter("Ttl");
         String s2 = request.getParameter("Yr");

       out.println("<TABLE >");
      out.println("<TR>");
      out.println("<TH>Category</TH>");
      out.println("<TH>Title</TH>");
      out.println("<TH>Release Year</TH>");
      out.println("<TH>Rental Price</TH>");
      out.println(" <TH></TH>");
      out.println("<TH></TH>");
      out.println(" </TR>");

          String sql = //search if no search condition
        "SELECT *" +
        " FROM users" +
        " WHERE ";

          if (s1!=null && !(s1.equals(""))){ //search by title 
                       sql =  sql +
        "title LIKE '%" +
        s1 + "%'";
                                             } 
              if (s2!=null){                   //search by year
                       sql =  sql +
        " year LIKE '%" +
        s2 + "%'";
                                             }  



     try{  
  Connection con =
        DriverManager.getConnection("jdbc:odbc:UsersData");
      System.out.println("got connection");

    Statement s = con.createStatement();
      ResultSet rs = s.executeQuery(sql);                
      while (rs.next()) {
          out.println("<TR>");
       String id = rs.getString(5);
        out.println("<TD>" + rs.getString(1) + "</TD>");
        out.println("<TD>" +    rs.getString(2) + "</TD>");
        out.println("<TD>" +  rs.getString(3) + "</TD>");
        out.println("<TD>" + rs.getString(4) + "</TD>");
       out.println("<TD><A HREF=Add to shoping cart?id=" + id + ">Add to shoping cart</A></TD>");
        out.println("</TR>");
      }
      s.close();
      con.close();
    }

    catch (SQLException e) {
    }
    catch (Exception e) {
    }
    %>
4

2 に答える 2

1

年とタイトルの両方で検索していますか?もしそうなら、私はそれらの2つの条件節の間に「AND」が表示されません。

于 2012-06-05T22:39:01.230 に答える
1

SQLには、のような条件が必要ですOR

さらに重要なことに、JSPでスクリプトレットを使用する必要がある場合でも、これを実行するには不十分な方法です。HTMLはまさにそのHTMLである必要があります。スクリプトレットでもそうする理由はまったくありません。

于 2012-06-05T22:57:51.200 に答える