2014-05-07 42 views
0

我有我想按品牌名稱和權限ID過濾的內容,然後顯示它。Codeigniter。 WHERE具有多個值的sql

我的問題是: 當我發送一個值作爲$權限它工作正常。但是當一個用戶擁有多個permission_id時,它不起作用。

其中permission_id = 1,2,3,

我有我的選擇查詢的一個問題:

笨:

$this->db->select('*'); 
$this->db->from('content'); 
$this->db->where('brand_name', $brand); 
$this->db->where('permission_id', $permission); 

SQL:

SELECT * FROM `content` WHERE `brand_name` = $brand_name AND `permission_id` = $permission; 

$品牌& $許可看起來像這樣的的print_r:

Hyundai 
1,10,11,2,3,4,5,6,7,8,9 

我希望我能提供足夠的信息給某人來幫助我。

謝謝。

回答

3

如果要測試多個值的字段,你的SQL不應該是這樣的:

WHERE permission_id = 1, 2, 3; 

我不知道你的permission_id場是什麼樣子,但我猜你的病情而應被:

WHERE permission_id IN (1, 2, 3); 

嘗試where_in

$this->db->where_in('permission_id', $permission); 

其中$permission是一個包含權限的數組(不是逗號分隔的字符串)。

隨着$permission是一個字符串,使用explode

$this->db->where_in('permission_id', explode(',', $permission)); 
+0

非常感謝您的幫助。它現在有效! – mrijneveld