-2

私はこれを持っています:

$string = "battery,lighter,phone";

users各ユーザーのタグを持つテーブルがあります。

selectSQLwhere tags = $stringwhere email = '$usermail';をどのように使用できますか。

上記の文字列のように、テーブル内のコンマで区切られた に基づいuser emailてデータを取得したいだけですuser stored tags

4

2 に答える 2

0

回答の更新:別のコメントにリストされているテーブルを考えると:

SELECT p.id, p.p_title, p.categoryname, u.id, u.user_email, u.my_choices
  FROM users u
  JOIN products p
    ON FIND_IN_SET(p.categoryname, u.my_choices)
 WHERE u.email = 'email_value'

MySQL には、目的に合ったFIND_IN_SET()関数があります。この特定のケースでは、ユーザーの「my_choices」内に「categoryname」を持つすべての製品が返されます。

これがうまくいくかどうか教えてください。

ジョン...

于 2012-11-03T16:45:28.503 に答える
0

使用できるタグを 1 つだけ選択する場合

 select bits where tag like '%select_value' and email = 'email_value'

複数のタグを選択する必要がある場合は、csv を解析する必要があります。それはより大きな課題です。

于 2012-11-03T11:54:07.643 に答える