2016-04-22 78 views
0

我需要讓用戶將一些數據提供給像(城市,國家,國家的URL)的第一頁,我需要他從中選擇什麼樣的目的地:在數據庫中獲取多個複選框結果(JSP PAGE)

冬天,聖誕節,夏天(他可以檢查最大2)

如何將此結果與我的數據庫連接?

我已經建立3個表

  1. 與nodest列(PK),城市,國家,網址
  2. nodest_c(PK),類別
  3. nodest(FK - > nodest),nodest_c( fk - > nodest_c)

創建目標代碼。 JSP

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>create dest</title> 
    </head> 
    <body> 
     <html> 
    <head> 
     <title>CREATE DESTINATION</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 
    <body> 
     <h1> CREATING DESTINATION </h1> 
     <form name="createdest" method="get" action="create dest code.jsp"> 
     Country: <input type="text" required name="id8" /> <br> 
     City: <input type="text" required name="id9" /> <br> 
     URL Video: <input type="url" required name="id10" /> <br> <br> 
     <i><ins>Categorize the destination (max 2): </ins></i> <br> <br> 
     <input type="checkbox" name="id5" value="1" onClick="return KeepCount()" >Christmas<br> 
     <input type="checkbox" name="id6" value="2" onClick="return KeepCount()" >Winter <br> 
     <input type="checkbox" name="id7" value="3" onClick="return KeepCount()" >Summer <br> <br> 

     <input type="submit" value="CREATE DESTINATION" /> 


     <br> 


     </form> 
     <SCRIPT LANGUAGE="javascript"> 

function KeepCount() { 

var NewCount = 0 

if (document.createdest.id5.checked) 
{NewCount = NewCount + 1} 

if (document.createdest.id6.checked) 
{NewCount = NewCount + 1} 

if (document.createdest.id7.checked) 
{NewCount = NewCount + 1} 

if (NewCount == 3) 
{ 
alert('Pick Just Two Please') 
document.createdest; return false; 
} 
} 
</SCRIPT> 


    </body> 
</html> 

插入數據庫.JSP

<%@page import="java.sql.*" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>create dest code</title> 
    </head> 
    <body> 
     <% 
    int m[] = new int[5000]; String s[] = new String[5000];   
    Class.forName("com.mysql.jdbc.Driver"); 
    String myDatabase = "jdbc:mysql://localhost:3306/project_app?user=root&password=1234"; 
    Connection myConnection = DriverManager.getConnection(myDatabase); 
    Statement myStatement = myConnection.createStatement(); 
    boolean check=null!=request.getParameter("id5"); 
    boolean check1=null!=request.getParameter("id6"); 
    boolean check2=null!=request.getParameter("id7"); 
    String id8=request.getParameter("id8"); 
    String id9=request.getParameter("id9"); 
    String id10=request.getParameter("id10"); 
    String sqlString = "INSERT INTO DEST(COUNTRY,CITY,URL) VALUES ('"+id8+"', '"+id9+"','"+id10+"')"; 
    myStatement.executeUpdate(sqlString); 
    myStatement.executeUpdate(sqlString1); 
    myStatement.close(); 
    myConnection.close(); %> 
    </body> 
    <h1 style="color:blue;">Successful Registration </h1> 
</html> 

有什麼建議?

+0

你的問題在哪裏? –

+0

我能做些什麼來在表格中插入結果複選框 – JHk1821

回答

1
在servlet使用

驗證碼:

String checked = request.getParameterValue("checkboxName"); 

,並檢查是否爲空,這意味着你的複選框沒有被檢查。

另外,如果你想使用複選框組,把一些複選框具有相同的名稱,並使用此:

String[] checkedValues = request.getParameterValues("checkboxName"); 

然後就是檢查將被添加到的CheckedValue變量的所有複選框值。

boolean check = null != request.getParameter("id5"); 
boolean check1 = null != request.getParameter("id6"); 
boolean check2 = null != request.getParameter("id7"); 

並根據您在數據庫中用於檢查列的數據類型,可以使用這些布爾值。

+0

input type =「checkbox」name =「id6」value =「2」in database will insert the「2」? (任何有價值的東西?),你能解釋一下嗎? ; D – JHk1821

+0

更新了答案。 –

+0

檢查上面的代碼,你能寫我所有的代碼,因爲我不明白:P – JHk1821