2016-06-24 30 views
0

我有一個名爲'orders'的MYSQL表,我想從html表單中的一列複選框更新。表單中的代碼是<input type='checkbox' name='completed[]' value='';>如何使用單列複選框從HTML表單更新MYSQL表格

我環顧了很久,看看我可以如何提交此表單並使用這一行代碼更新我的數據庫。換句話說,複選框只包含這個代碼塊,但每行末尾都有一個複選框。我知道只有被選中的框會在$_POST['completed']陣列中返回。

如何才能更新一個只有一個這樣的代碼塊的MySQL表?更新代碼是這樣的:

update = "UPDATE orders SET completed='$completed' WHERE completed=0;"; 

然後

$res = mysqli_query($db, $sql) or die(mysql_error()); //update or error 
+0

更正:從上面切下的代碼:...「​​」 – seaellen

+0

您能正確格式化您的代碼嗎? –

+0

我只是添加了代碼的相關部分。 – seaellen

回答

1

可能的答案:

$completed = implode(",", $completed); 
$sql = "UPDATE orders SET completed='1' WHERE completed=0 AND orders.id IN ($completed)"; 

假設你的$ _ POST [ '完成']有其已完成訂單的id和完成的列只有布爾值。

+0

謝謝!它的工作原理如下:$ sql =「UPDATE orders SET completed ='1'WHERE completed = 0 AND orders.orderID IN($ completed)」; ;我的自動遞增主鍵是orderID。我搜索了很長時間 - 所以再次感謝! – seaellen

+0

這就是爲什麼我寫了可能的答案,因爲我不知道你的模式..你歡迎......你能接受我的答案,因爲它爲你工作? –