與笨

2013-03-28 67 views
-3

統計每個行我有兩個表 表TOPIK和表多申與笨

dosen table---->|dosen_id|dosen_nama|  topik---->|dosen_id1|dosen_id2| 
        1   a       1  2 
        2   b       2  1 
        3   c       1  3 

我想計算行dosen_id1和dosen_id2作爲結果這樣

|dosen_nama|count| 
     a  3 
     b  2 
     c  1 

什麼樣的代碼模型,我必須寫? 請幫我...

UPDATE

這是我的控制器

$data['jumlah'] = $this->topikdo_model->get_all_topikdo_jumlah(); 

這是我的看法

<table class="table table-bordered table-striped table-hover "> 
     <tbody> 
      <tr> 

       <th>SANDOS</th> 
       <th>Nama</th> 
       <th>Jumlah Bimbingan</th> 
       <th>Aksi</th> 
      </tr> 
      <?php 
      $no=1; 
      foreach($daftardosen as $row) 
      { 
      ?> 
      <tr> 

       <td><?php echo $row->dosen_id;?></td> 
       <td><?php echo $row->dosen_nama;?></td> 
       <td><?php echo $jumlah;?></td> 
       <td align='center'> 

        <?php 
        echo anchor('topikdo_controller/rincian_daftardosen/'.$row->dosen_id,'Rincian'); 
        ?> 
       </td> 
      </tr> 
      <?php $no++; 
      } 
      ?> 
     </tbody> 
    </table> 

我已經在模型writen查詢像羅希尼sugested 型號

$sql="SELECT d.dosen_nama, count(t.a) 
    FROM dosen as d, (Select topik_pembimbing1 as a 
        FROM topik 
        UNION ALL 
        SELECT topik_pembimbing2 as a 
        FROM topik) as t 
    WHERE d.dosen_id = t.a 
    GROUP BY d.dosen_nama"; 
$data=$this->db->query($sql);return $data->result(); 

但有消息錯誤「陣列字符串轉換」 ...... 對不起,,,我沒有到互聯網幾天前任何連接...

+0

這是你想要的結果嗎? – 2013-03-28 12:22:16

+1

請發佈你的代碼,你已經嘗試過,所以我們可以看到你在哪裏做錯了。 – 2013-03-30 06:02:00

回答

0

你可以簡單地執行一個查詢得到想要的結果。

SELECT dosen_nama, ((SELECT COUNT(*) FROM topik WHERE dosen_id1=d.dosen_id) + (SELECT COUNT(*) FROM topik WHERE dosen_id2=d.dosen_id)) AS COUNT 
FROM dosen d 
+0

我有消息數組以字符串轉換與您的查詢Adeel – 2013-03-29 04:40:13

0

嘗試在你的模型中使用此查詢.....!

SELECT d.dosen_nama, count(t.a) 
FROM dosen as d, (Select dosen_id1 as a 
        FROM topik 
        UNION ALL 
        SELECT dosen_id2 as a 
        FROM topik) as t 
WHERE d.dosen_id = t.a 
GROUP BY d.dosen_nama 

UPDATE:

你寫信了,

$sql="SELECT d.dosen_nama, count(t.a) 
     FROM dosen as d, (Select topik_pembimbing1 as a 
         FROM topik 
         UNION ALL 
         SELECT topik_pembimbing2 as a 
         FROM topik) as t 
     WHERE d.dosen_id = t.a 
     GROUP BY d.dosen_nama"; 

$data=$this->db->query($sql); 
return $data->result(); 

你的代碼的最後一行將返回的查詢結果作爲對象的數組,或者在失敗時返回一個空數組。

我懷疑你正在嘗試使用這個數組,你需要使用一個字符串。 由於數組試圖被解析爲一個字符串,你可能會得到這個錯誤。

+0

我已經寫了這段代碼,但我有通知=數組字符串轉換。 (選擇topik_pembimbing1作爲FROM topik UNION ALL SELECT topik_pembimbing2作爲FROM topik)作爲t WHERE d.dosen_id = t.a GROUP BY d.dosen_nama「; $ sql =」SELECT d.dosen_nama,count(t.a)FROM dosen as d, $ data = $ this-> db-> query($ sql); return $ data-> result(); – 2013-03-31 09:55:07

+0

您能否簡單介紹一下您面臨的問題。 請發佈一些更多的代碼,以便我可以爲您提供更多的幫助... – Rohini 2013-04-01 06:16:02

+0

那麼我必須寫什麼樣的模型回報並顯示數據? – 2013-04-02 14:36:07