PHP MYSql:UPDATE Multi Row With One id

时间:2013-10-18 17:59:01

标签: php mysql

我使用comma separated

从标签表中获取此数据
trance, house, electronica, dubstep, club

标签表是:

ID        NAME             ArticleId
1         trance              10
2         house               10 
3         electronica         10
4         dubstep             10
5         garage              10

现在我需要使用此新编辑页面的UPDATE标签表:

trance, house, electronica  // I remove dubstep, club tag

我的PHP代码:

$arr_tag = explode(",",$tag); 
   foreach($arr_tag as $tags){
      DataAccess::put("UPDATE tags SET name = ?, type=? WHERE article = 10",$tags,"news");
   }

现在UPDATE输出后:

trance, trance, trance

我的问题是:如何UPDATE标签表用于新标签输入?

2 个答案:

答案 0 :(得分:1)

问题是您的更新查询正在替换其文章为10的任何行,其中任何标记都是foreach循环中的当前标记,最终结果是您将其替换为标记数组的最后一个值。我建议你先删除所有相关的行,然后再将它们与你想要的信息一起插入,但最重要的是,我建议你阅读更多关于PHP和SQL查询的内容,因为你似乎都缺乏这两个。< / p>

答案 1 :(得分:1)

您必须先删除所有信息:

query = "DELETE FROM tags WHERE article = 10"

然后再次保存所有行。 很容易