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

最初にすべての情報を削除する必要があります。

query = "DELETE FROM tags WHERE article = 10"

次に、すべての行を再度保存します。非常に簡単

于 2013-10-18T18:24:39.823 に答える
1

問題は、更新クエリが記事が 10 の行を foreach ループの現在のタグに置き換えていることです。最終結果は、それらをタグ配列の最後の値に置き換えていることです。最初に関連するすべての行を削除してから、必要な情報で再度挿入することをお勧めしますが、何よりも、PHP と SQL クエリ全般についてもっと読むことをお勧めします。両方に欠けているようです。

于 2013-10-18T18:16:58.353 に答える