[英]Checkbox (JSP PAGE) and insert on mysql database
我有一個jsp頁面,表單中的用戶必須給出目的地:城市,國家,url_of_city和3個帶有目的地類型(夏季,冬季,聖誕節)的復選框,他最多可以選中2個框,所以我需要選擇這樣做的結果並將它們插入數據庫,以便以后能夠搜索此目的地,我該怎么做?
mysql 代碼:
CREATE TABLE DEST_C(ID_DEST_C INT(5),CATEGORY VARCHAR(45))
CREATE TABLE DEST(ID1_DEST INT(6),ID2_DEST INT (6),COUNTRY VARCHAR(40),CITY VARCHAR(40),URL VARCHAR(5400));
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>
插入的 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>
一個非常簡單的解決方案是為您的復選框分配一個二進制值。 因此,您可以使用 1,2,4 而不是 1,2,3。 然后,您將對選定框的值求和並保存此唯一值。
如您的代碼:
`input type="checkbox" name="id5" value="1" (...)` `input type="checkbox" name="id6" value="2" (...)` `input type="checkbox" name="id7" value="4" (...)`
下面的真值表顯示了不同的值。
id: ID5 ID6 ID7 Sum value: 1 2 4 x 1 x 2 x x 3 x 4 x x 5 x x 6
解決方案與 SQL 無關,但坦率地說,問題也不是......祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.