[英]checking checkbox and then input to a new row
如何根據復選框結果插入數據庫。
我有5個房間,用戶可以預訂1個以上的房間。
如何僅將數據插入到我的預訂表中以選擇房間。
這是我正在嘗試的方法,但僅適用於第一個房間,沒有嘗試過elseif,但是這也不起作用。
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>
您應該首先創建表格。 正如您沒有提到的,我將舉一個例子:
重要提示:您應該使用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>
如果room1是復選框。 $ _POST ['room1']可能設置為“ on”,而不是“ true”或“ 1”。 首先調試$ _POST ['room1']
var_dump($_POST['room1']);
大多數情況下,這有助於了解有關類型和設置值的更多信息。
您可以使用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
}
});
試試這個代碼
<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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.