我已经搜索了相当多的内容,但似乎没有任何内容出现,这很奇怪,因为我认为这将是一件很容易实现的东西。基本上我有一个用户选择的项目列表,我想要做的是根据基本上选择的复选框更新数据库中的值:
复选框数组中指定的id已经在数据库中,不需要发生任何事情,或者可以使用相同的值进行更新。
复选框数组中指定的id需要添加到数据库中。
id IS未在复选框数组中分配,因此必须从DB中删除。
有没有人得到他们合作过的任何代码呢?
表格很简单,有两件事要更新:
id_text和id_product
来自$ _POST的数组是:
Array ( [text] =>
Array ( [0] => 8 [1] => 1 [2] => 2 ) // the values that need to be inserted, updated, or deleted if they don't exist here.
[textValue] => ALL OF THEM
[id] => 33 // the 'id_product value'
[update] => update )
答案 0 :(得分:0)
没错,没有任何代码或数据库squema很难帮助,但如果我理解正确你可以:
答案 1 :(得分:0)
删除ID不在数组中的所有项目。你可以选择那些“in”:
... WHERE id_product NOT IN(1,3,5,8)AND ......
您可以使用
轻松生成此内容$ idCondition ='id_product NOT IN('。implode(',',$ yourArrayName)。')';
关于REPLACE:
http://dev.mysql.com/doc/refman/5.1/de/replace.html
关于IN:
http://www.webdevelopersnotes.com/tutorials/sql/tutorial_mysql_in_and_between.php3
编辑:我刚才意识到有些人可能会对我对REPLACE的定义提出异议。 REPLACE实际上做的是删除该行,如果它已经存在,然后执行INSERT。