ユーザー アカウントのフォームの一部で、MySQL に保存されている各 $tag をカンマで区切った興味 ($tags) を人々に尋ねます。
各 $tag には ID が与えられ、別のテーブルがユーザーの一意の ID と $tag ID をリンクします。
これはすべてうまく機能します-絶対に理想的ですが、タグを何千回も複製したくありません。たとえば、多くの人が興味として「ジム」と入力します。一意の ID を持つ新しい 'gym' $tag を追加し続けるのは無駄に思えますが、一度 $tag として入力されると、その $tag ID は、たまたま 'ジム'。それは理にかなっていますか?
私の現在のコードは以下 (サニタイズされた $_POST からの $tags) であり、2 つのテーブルに挿入されています。
1.tag_id には $tag のタグ フィールドがあり、それぞれが一意の ID を生成します。2.tag_relation は、ユーザー ID と生成されたタグ ID を一致させます。
$tags = strtoupper($tags);$tags= preg_split('/\,/', $tags);
foreach ($tags as $ind)
{
$sql = "INSERT INTO tag_id (tag) VALUES('$ind')";
$result=mysql_query($sql);
}
foreach ($tags as $ids)
{
$sql = "SELECT * FROM tag_id WHERE tag = '$ids'";
$result=mysql_query($sql);
$idinfo=mysql_fetch_assoc($result);
$id=$idinfo['t_id'];
$sql = "INSERT INTO tag_relation (user_id, tag_id) VALUES ('$user_id', '$id')";
$result=mysql_query($sql);
}
だから私の質問は、tag_id テーブルの $tags を複製しないように上記を変更できますが、そのテーブルの既存の $tags を tag_relation のユーザー ID と一致させることはできますか?