分隔我有這樣的:PHP和MySQL選擇用逗號
$string = "battery,lighter,phone";
我有一個表users
有每個用戶的標籤。
怎麼可能select
使用sql where tags = $string
和where email = '$usermail'
;
我只是想找回基於user email
和user stored tags
由逗號表中分離出來像上面的字符串數據
分隔我有這樣的:PHP和MySQL選擇用逗號
$string = "battery,lighter,phone";
我有一個表users
有每個用戶的標籤。
怎麼可能select
使用sql where tags = $string
和where email = '$usermail'
;
我只是想找回基於user email
和user stored tags
由逗號表中分離出來像上面的字符串數據
如果你只選擇了一個標籤,你可以使用
select bits where tag like '%select_value' and email = 'email_value'
如果你需要挑選出你需要解析出csv的多個標籤。這是一個更大的挑戰。
我有一個以上的標籤爲每個用戶, –
我有一個以上的標籤爲每個用戶,所以基本上我想用用戶的電子郵件來選擇所有用戶的值,我會用「while」來回顯所有用戶的保存標籤名稱原始標籤。任何幫助?存儲在原始標籤中的值通過逗號分隔:鞋子,打火機,褲子,閃光燈等 –
我感到困惑 - 您是否嘗試選擇具有特定標籤的用戶或僅獲取特定用戶的標籤? – ethrbunny
答案更新:鑑於在別人的評論中列出的表:
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'的產品將被退回。
讓我知道這對你的作品,
約翰。
您可以比較where子句中使用逗號sepreaded – Hkachhia
請告訴我,標籤進入像'電池,光,電話多個字段''或''電池'和其他'用戶'表中的每個用戶。所以我可以提供解決方案.. :) –
我有多個標籤爲每個用戶,所以基本上我想用用戶的電子郵件來選擇所有用戶的值,我會用「while」來回顯所有用戶保存的標籤名稱原始標籤。任何幫助?存儲在原始標籤中的值由逗號分隔:鞋子,打火機,褲子,閃光燈等 –