如何根据复选框结果插入数据库。
我有5个房间,用户可以预订超过1个房间。
如何将数据插入我的预订表中仅用于所选房间。
这就是我的尝试,但它只适用于第一个房间,确实尝试过,但这也没有用。
if(isset($_POST['room1'])) {
$query = "insert into bookings (bookingNo,roomNo)
values ('$bookingNo','1')";
$result = mysql_query($query);
}
这基本上只是输入roomNo和该房间的详细信息,例如预订日期和时间。
由于
表格
<fieldset>
<legend>Rooms</legend>
<ol>
<li>
<label for =youthCafe>Youth Cafe</label>
<input type="checkbox"name="roomid[]" value="1" ><br>
<label for =inkwellMain>Inkwell Main</label>
<input type="checkbox" name="roomid[]" value="2"><br>
<label for =inkwellSmall>Inkwell Small</label>
<input type="checkbox"name="roomid[]" value="3"><br>
<label for =kitchen>Kitchen</label>
<input type="checkbox"name="roomid[]" value="4"><br>
<label for =outsideCatering>Outside Catering</label>
<input type="checkbox" name="roomid[]" value="5"><br>
</li>
</ol>
</fieldset>
答案 0 :(得分:2)
您应首先创建表单。正如你没有提到的那样,我将发布一个例子:
重要:您应该使用MYSQLi或PDO函数来避免sql注入。除此之外,这就是你所需要的。 (只是基础知识)
<?php
if ( isset($_POST['roomid']) ){
foreach( $_POST['roomid'] as $value ){ //Receive the checkboxes as an array
//you did not specify where $bookingNo came from, so
//I'm assuming that you already have it from somewhere.
$query = "insert into bookings (bookingNo,roomNo)
values ('$bookingNo','$value')";
$result = mysql_query($query);
}
}
?>
<html>
<body>
<form name="frm" method="post">
<input type="checkbox" name="roomid[]" value="1"/>Room 1<br/>
<input type="checkbox" name="roomid[]" value="2"/>Room 2<br/>
<input type="checkbox" name="roomid[]" value="3"/>Room 3<br/>
<input type="submit" name="submit" value="Send"/><br/>
</form>
</body>
</html>
答案 1 :(得分:0)
如果room1是复选框。 可能$ _POST [&#39; room1&#39;]设置为&#34; on&#34;而不是&#34; true&#34;或&#34; 1&#34;。 首先调试$ _POST [&#39; room1&#39;]
var_dump($_POST['room1']);
大多数情况下,这有助于了解有关类型和设置值的更多信息。
答案 2 :(得分:0)
您可以使用javascript在服务器上调用ajax函数的复选框上设置事件。服务器上的功能更新数据库。这样您就可以将数据库工作与界面工作分开。使用JQuery看起来像:
$('#myformelement :checkbox').click(function() {
$.ajax({
"url": (call function using http request)...,
"type": "post",
"data": { elementid },
"success": function(data) {
//everything ok
},
"error": function(data) {
//error
}
});
答案 3 :(得分:0)
试试此代码
<form action="index.php" method="post">
<input type="checkbox" name="room[]" value="1" />PHP<br />
<input type="checkbox" name="room[]" value="2" />HTML<br />
<input type="checkbox" name="room[]" value="3" />Java<br />
<input type="checkbox" name="room[]" value="4" />C++<br />
<input type="checkbox" name="room[]" value="5" />C++<br />
<input type="submit" value="submit" />
</form>
if ( isset($_POST['room']) ){
foreach($_POST['room'] as $value)
{
$query = "insert into bookings (bookingNo,roomNo)
values ('$bookingNo','$value')";
$result = mysql_query($query);
}
}