2016-06-24 27 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

这就是为什么我写了可能的答案,因为我不知道你的模式..你欢迎......你能接受我的答案,因为它为你工作? –