簡體   English   中英

如何提交從jsp頁面的下拉列表中選擇的選項以執行mysql查詢

[英]how to submit the option selected from drop down list in jsp page to perform a mysql query

我的項目是StaffAllocation,我想從數據庫中檢索信息。 我很新,這是我的第一個項目。 我創建了一個下拉列表,從我的一個表中檢索人員staffnames 現在,我想執行查詢操作以從下拉列表中查看所選staffnames的詳細信息。 以下是我的編碼,這是不正確的:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
  <%@ page import="java.sql.*" %>
  <%@ page import="java.io.*" %>
  <%@ page import="java.lang.*" %>
  <%@ page import="javax.servlet.*" %>
  <%@ page import="javax.servlet.http.*" %>
  <%ResultSet resultset =null; %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Staff Details</title>
  </head>
  <BODY>
  <form method=post>
  <h3>Select Stafftype:</h3>
  <p><input type="radio" name="Stafftype" value="Male"> Male</input></p>
  <p><input type="radio" name="Stafftype" value="Female"> Female</input></p>
  <input type="submit" value="Submit">
  </form>
  <%
  try{

    Class.forName("com.mysql.jdbc.Driver");
    Connection connection =      DriverManager.getConnection("jdbc:mysql://localhost:3306/StaffAllocation?  user=root&password=success");
    Statement statement = connection.createStatement() ;
    String Stafftype= request.getParameter("Stafftype");
    out.print(Stafftype);
    if(Stafftype.contentEquals("Male")){
    resultset=statement.executeQuery("select * from tblstaffdetails where Stafftype=  'Male'");
    }
    else if(Stafftype.contentEquals("Female")){
        resultset=statement.executeQuery("select * from tblstaffdetails where   Stafftype= 'Female'");
    }
    else
    {
        System.out.println("your coding is wrong");
    }
   %>

    <select> <% while(resultset.next()){ %>
    <option><%= resultset.getString(2)%></option>
   <%} %> 

   <%

   String StaffName= request.getParameter("StaffName"); 
   int staffId;
   String subcode;
   if(StaffName != null) {
   resultset=statement.executeQuery("SELECT a.staffId, a.StaffName, b.subcode FROM tblstaffdetails a LEFT JOIN tblsubhandled b ON a.staffId = b.staffId where StaffName='request.getParameter('StaffName')'");

     }       
     }
    catch(Exception e)
    {
         out.println("wrong entry"+e);
    }
    %>
   <form method = "get">
   <br><br>
   <input name="Submit" type="button" value="Submit">
   </form>
   </body>
   </html>`

表:

tblstaffdetails-(1).staffId(2).StaffName(3).Stafftype(男性或女性)

tblsubhandled-(1).staffId(2).subcode

我整理了示例實現供您參考。 您可以這樣實現。 您需要做的就是包括jQuery插件。 示例代碼就是這樣,

 $.ajax({
    url : 'ur_servlet_url' + selValue,
    type : "POST",
    async : false,
    success : function(data) {
        //Sample data
        var data = "<select id='child'>
                    <option value='11'>Value11</option></select>"
        $("#fillValue").html(data);
    }
});

您需要編寫類似於select標簽的Java響應,並將其返回給您的ajax響應。 最后,您可以像這樣填充第二個下拉列表。 讓我知道是否有幫助。

<form method="post" action="select.jsp">
    <select name="sell">
       <option value="Alto">Alto</option>
       <option value="Esteem">Esteem</option>
       <option value="Honda City">Honda City</option>
       <option value="Chevrolet">Chevrolet</option>
    </select>
    <br>
    <input type="Submit" value="Submit">
</form>
<%
  String st=request.getSelectedIndex("sell");
  if(st!=null){
    out.println("You have selected: "+st);
  }
%>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM