我有一些類別列表。並有一些帖子有多個類別。 如..檢索在相應的列中有逗號分隔值的行
PHP是類別,,第一柱具有PHP,JavaScript中,WordPress的類別和所述第二柱具有PHP,MySQL的類別中的一列。
現在,當我點擊PHP類別,那個時候所有這些都PHP類別的職位將被檢索。
請任何想法如何檢索基於一個類別的所有帖子,如果那些在一個列中有多個類別。
我有一些類別列表。並有一些帖子有多個類別。 如..檢索在相應的列中有逗號分隔值的行
PHP是類別,,第一柱具有PHP,JavaScript中,WordPress的類別和所述第二柱具有PHP,MySQL的類別中的一列。
現在,當我點擊PHP類別,那個時候所有這些都PHP類別的職位將被檢索。
請任何想法如何檢索基於一個類別的所有帖子,如果那些在一個列中有多個類別。
你需要的是FIND_IN_SET()
MySQL的功能。
SELECT * FROM TableName WHERE FIND_IN_SET('PHP', category_column);
FIND_IN_SET()
回報category_column
的PHP
的位置,所以用在WHERE
條款是適用於所有的true
除了0
,串時未找到其返回。
作爲一個免責聲明,我想提一下,看起來,你的數據庫設計不好。你不應該把多個值放在一個字段中。稍後您可能會在開發更多功能時遇到麻煩。
感謝您的建議,您的代碼正在工作。我是PHP和mysqli的新手,所以這是我糟糕的設計的錯。好的,我會盡力做得更好。 –
你可以使用FIND_IN_SET
,像..
SELECT * FROM table_name
WHERE FIND_IN_SET('php',`your_colum_name_containing_values`);
你不能用'column LIKE'%php%''使用SQL查詢嗎? –
@ShaunakShukla關於'C'' C#'''C++''怎麼辦? – sagi
你在列中有逗號分隔值嗎? –