我有以下陣列:PHP數組到MySQL查詢條件結構
$arr = [1, 3, '4A', '5A', '5C', '2B', '2C', '2E'];
不知怎的,我需要將此數組轉換爲一個字符串,如下所示:
$filter = "(id like '1%') OR
(id like '3%') OR
(id like '4A%') OR
(id like '5A%' OR id like '5C%') OR
(id like '2B%' OR id like '2C%' OR id like '2E%')";
的第一個字符的該數組值指示一個唯一的類別幷包裹在括號中。最後我會用這個來查詢數據庫;
$sql = "SELECT * FROM list WHERE {$filter}";
有人可以幫我把這個數組轉換成正確的字符串嗎?什麼是實現這一目標的最佳方法?
給你一個我想要的東西的想法: 我的數據庫行中的'id'列看起來像; 1B2875。第一個字符(1)表示分類,第二個字符(B)表示子類別。給定的數組是客戶端過濾器請求的結果。
如果還不算太晚,我真的會建議將這個標準化,並使用關係到一個'category',並且讓'ID'成爲一個auto_increment整數。你現在正在使用的這個設置可能會在以後造成很多傷害。 – prodigitalson 2014-12-07 01:32:44