PHP / SQL - 如何更新数据库字段

时间:2015-12-08 09:15:33

标签: php mysql sql-server database

所以我在我的网站上有一个客户表,其中有几个列,如姓名,年龄等等......我添加了一个新列,即#34;删除"我添加了复选框,还有一个按钮,我想要做的是,如果我选择一个或多个复选框,然后单击按钮删除,我希望它们从网站上删除但是然后在数据库上我想要一个字段从0更新到1,而0表示客户端存在于网站和数据库上,1意味着它不再存在于网站上但它仍然存在于数据库中。

我是编程领域的新手,但这是我到目前为止的代码:

$id = $_POST['id'];

if(isset($_POST['option']) == 'check' && ($_POST['button']) == 'submit') {

$query = "UPDATE commande

SET traiter = 1

WHERE id = '%$id%'";

var_dump($query);

}

现在这不起作用,他没有正确地进行更新,我选中复选框,然后点击按钮,它不会从网站上删除,也不会更新右边的数据库特定字段客户基于其' id,我不明白为什么!

有人可以帮帮我吗?

4 个答案:

答案 0 :(得分:2)

您可以通过两种方式使用它:

1 - 如果有多个ID,那么:

Id Avg GICS1
a 3.0 @NA
b 5.6 Consumer Staples
c 4.8 Materials
d 3.1 Health Care
e 1.6 Energy
f 9.3 @NA
g 8.5 Industrials
h 7.0 Consumer Discretionary

2 - 如果一次只更新一个ID,则:

$query = "UPDATE commande SET traiter = 1 WHERE id IN ($id)";

答案 1 :(得分:0)

如果您使用=删除%

$query = "UPDATE commande SET traiter = 1 WHERE id = '$id'";

或将LIKE%

一起使用
$query = "UPDATE commande SET traiter= 1 WHERE id LIKE '%$id%'";

答案 2 :(得分:0)

删除多重选择复选框

考虑到$id是一个数组,您可以使用IN子句替换许多OR条件。

您可以在

等条件中使用in子句
$query = "UPDATE commande SET traiter = 1 WHERE id IN ($id)";

Reference

<强>更新

你应该将它视为这样的数组,

 <input name="id[]" type="checkbox" value="1">
 <input name="id[]" type="checkbox" value="2">
 <input name="id[]" type="checkbox" value="3">
 <input name="id[]" type="checkbox" value="4">

然后,您可以将其作为数组。因此,$_POST['id']将提供所选复选框的数组。

答案 3 :(得分:0)

after you get id/s of delete record 

    $query = "UPDATE commande SET traiter = 0 WHERE id IN ($id)";//For multiple multiple



    $$query = "UPDATE commande SET traiter = 0 WHERE id = '$id'";//for single record
 Set traiter to '0' means deleted record and '1' for active record