2016-11-21 25 views
0

「カテゴリ」データベースを表示しようとしていますが、この部分は非常に簡単です。難しい部分は、私は 'カテゴリ'データベースからサブカテゴリを数え、1つのテーブルでそれらを表示する必要があります。CodeIgniter:1回の返信で2つのクエリ結果を表示

function category() { 
$query = $this->db->get('category'); 
$result = $query->result_array(); 
foreach($query->row() as $q) { 
$this->db->where('subcat_id', $q['cat_id']); 
$query2 = $this->db->get('subcat'); 
if($query2) { 
    return true; 
} else { 
    return false; 
} 

ここで私のコントローラです:

function dispaly_category() { 
$data['category'] = $this->mymodel->category(); 
$this->load->view('view', $data); 
} 

ここでは私のビューです:

ここ

Category | Sub Category 
------------------------ 
Cat A |  5 
Cat B |  7 

は私モデルであります0

+0

あなたのフルテーブル構造を見せてください。これはちょっと混乱しています – sintakonte

答えて

0

私はちょうどあなたが1つのテーブルを持っていると仮定して回答を投稿します(あなたはサブカテゴリのために別のテーブルは必要ありませんが、本当に2番目のテーブルが必要な場合は、 )

あなたのモデル

function category() 
{ 
    $query = $this->db 
     ->select("c.*, count(cc.id) AS countSubCategories") 
     ->from("category c") 
     ->join("category cc", "cc.parent_id = c.cat_id","left") 
     ->group_by("c.id") 
     ->get(); 

    return $query->result(); 
} 

あなたのコントローラー

function display_category() 
{ 

    $arrViewData = array(
     'category' => $this->mymodel->category() 
    ); 
    $this->load->view('view', $arrViewData); 
} 

ビュー

<table> 
<thead> 
    <th>Category</th> 
    <th>Subcategory</th> 
</thead> 
<tbody> 
    <?php foreach($category as $c) : ?> 
    <tr> 
     <td><?php echo $c->category_name; ?></td> 
     <td><?php echo $c->countSubCategories; ?></td> 
    </tr> 
    <?php endforeach; ?> 
</tbody> 
</table>