我在PHP中有一個字符串數組,名爲組。根據用戶輸入,該數組看起來像這樣:groups [All,Sales]。基於字符串數組的過濾記錄PHP和MySQL
實施例:(更新後的表SCHEMA)
groups[] = ['Sales', 'All']
ANNOUNCEMENT
|description|masterID| groupName |
=======================================
| hello | 1 | All, Final, |
| greetings | 2 | Sales, All, |
| demo | 3 | Final, |
因此,從上表中它應僅返回 「你好」 和 「問候」 爲輸出因爲基團[]具有銷售和全部作爲行1具有所有和行2都有。請幫忙。我是SQL和PHP的業餘愛好者。
我目前的嘗試:
SELECT * FROM announcement WHERE groupName REGEXP '(Sales | All)'
輸出:
No rows affected
切勿在數據庫中存儲逗號分隔值。要檢索它們,您需要通過LIKE「%Final%」進行全文搜索。 – sashkello 2013-05-04 12:47:31
我會建議規範化你的數據庫。用組名創建一個新表,並使用masterID和groupId創建另一個表。這會讓你的生活更輕鬆。 – 2013-05-04 12:48:49
感謝您的所有建議,但這是我必須與之合作。不能改變它,否則我會輕鬆解決這個問題。你能告訴我一個方法來處理這個嗎? – 2013-05-04 12:51:16