2012-03-26 98 views
0

我從我的數據庫表中獲取一些數據。我使用的查詢非常簡單SQL子查詢在結果中查找類別

$query = $this->db->query("SELECT * 
           FROM mc_boxes_has_categories 
           WHERE mc_boxes_idmc_boxes = $box_id 
           "); 
    $categories = $query->result_array(); 
    return $categories; 

此查詢的輸出如下

Array 
(
[0] => Array 
    (
     [mc_boxes_idmc_boxes] => 12 
     [categories_idcategories] => 1 
    ) 

[1] => Array 
    (
     [mc_boxes_idmc_boxes] => 12 
     [categories_idcategories] => 4 
    ) 

[2] => Array 
    (
     [mc_boxes_idmc_boxes] => 12 
     [categories_idcategories] => 5 
    ) 

) 

我的問題是我怎麼能檢查是否類別包含類別ID 1然後渲染1個視圖,如果它不包含然後渲染另一個視圖。我需要檢查類別ID 1不知何故可能在SQL中?

感謝

回答

0

如果你想只選擇那些類別的有1類變化如下您的選擇查詢:

$query = $this->db->query("SELECT * 
           FROM mc_boxes_has_categories 
           WHERE mc_boxes_idmc_boxes = $box_id AND categories_idcategories = 1 
           "); 

如果你想選擇所有類別,然後做ID爲1個類別,有些不同做到這一點:

foreaach($categories as $category) 
{ 
    if($category['categories_idcategories'] == 1) 
    { 
     // render view 1 
    } 
    else 
    { 
     // render another view 
    } 
} 
+0

謝謝...只要我發佈我的問題,解決方案出現在我的腦海裏 – 2012-03-26 07:59:04

+0

這就是格雷特(我認爲你是穆斯林)可能有你的介紹。 – CoreCoder 2012-03-26 08:02:53

+0

是的,我是穆斯林我正在作爲學生在germnay做我的主人以及信息學 – 2012-03-26 08:14:55

0

你可以迭代和組

foreach($categories as $row){ 
    $categories[$row['categories_idcategories']][] = $row['mc_boxes_idmc_boxes']; 
} 

// whatever compare logic you need 
if(isset($categories[1][0])){ 

}