笨更好的劇本流我以下數據:用於查詢
promo_id date time reg_cnt notes
2760 2010-06-02 01:30:00 2 -
2760 2010-06-02 05:30:00 2 -
2760 2010-06-03 07:00:00 1 -
2760 2010-06-03 07:30:00 2 -
2760 2010-06-03 08:30:00 3 -
2760 2010-06-04 09:00:00 1280 promo from vendor xxx
2760 2010-06-04 09:30:00 6 -
2760 2010-06-04 10:00:00 3 -
2760 2010-06-04 10:30:00 5434 TVC program xxx
我需要它來顯示這樣的:
PROMO DATE REG CNT NOTES
2760 2010-06-02 4 -
2760 2010-06-03 6 -
2760 2010-06-04 6723 promo from vendor xxx, TVC program xxx
我可以簡單的方式想不通到獲取這些數據。 現在,我做了我的模型是這樣的:
$data = array();
$query = $this->db->query("SELECT promo_id, date, SUM(reg_cnt) AS reg_cnt FROM promo_signup");
foreach($query->result_array() as $q){
$data[ $q['promo_id'] . '-' . $q['date'] ] = $q;
$query2 = $this->db->query("SELECT notes FROM promo_signup WHERE date = '" . $q['date'] . "' AND promo_id = '" . $q['promo_id'] . "'");
$data2 = array();
foreach($query2->result_array() as $q2){
$data2[] = $q2['notes'];
}
$data[ $q['promo_id'] . '-' . $q['date'] ]['notes'] = $data2;
}
然後,我仍然可以通過$data
必須循環對我的看法,以顯示它。
我想這是處理能力的浪費相比,下面的代碼(如果我沒費CI):
$data = array();
$query = $this->db->query("SELECT promo_id, date, SUM(reg_cnt) AS reg_cnt FROM promo_signup");
foreach($query->result_array() as $q){
$data[ $q['promo_id'] . '-' . $q['date'] ] = $q;
$query2 = $this->db->query("SELECT notes FROM promo_signup WHERE date = '" . $q['date'] . "' AND promo_id = '" . $q['promo_id'] . "'");
$data2 = array();
//echo data here
foreach($query2->result_array() as $q2){
$data2[] = $q2['notes'];
//echo notes data here
}
}
那麼,有沒有更好的方法CI幹什麼呢?
對不起,如果你們在上面的代碼中發現了一些錯誤,因爲它只是概念代碼。
啊,謝謝! GROUP_CONCAT是我所需要的。至於MVC,它是MVC。以上所有查詢都在我的模型上。對不起,如果我的問題不夠清楚。 – ariefbayu 2010-08-06 02:15:43