我有以下数据:
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中有更好的方法吗?
如果你们在上面的代码中发现了一些错误,我很抱歉,因为这只是概念代码。