0

我从标签表中获取这些数据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新标签输入标记表?

4

2 回答 2

1

You have to delete all informations first:

query = "DELETE FROM tags WHERE article = 10"

Then you save all rows again. Very easy

于 2013-10-18T18:24:39.823 回答
1

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

于 2013-10-18T18:16:58.353 回答