codeigniter:使用SUM()获取记录和总和

时间:2017-06-27 16:21:27

标签: php codeigniter mysqli

我需要你的帮助。我想使用codeigniter获取记录和总和

这是我的模型`

{
     $query = $this->db->query('SELECT Sum(dfp_oral_qty) FROM daily_family_planning_register WHERE YEAR(dfp_date) = (YEAR(NOW()))');
    echo ($query->result_array());
}

`

这是我的控制器

$data['count_oral_pills_this_year'] = $this->referral->count_oral_pills_this_year();

这是我的观点

<td>
    <?php echo $count_oral_pills_this_year; ?></td> -->
</tr>

当我运行它时,我得到一个null结果,而它应该显示300。

由于

1 个答案:

答案 0 :(得分:0)

您的结果是一个数组,因此您应该将结果作为数组访问。

像这样......

$rs = $this->referral->count_oral_pills_this_year();
$data['count_oral_pills_this_year'] = $rs[0]['Sum(dfp_oral_qty)']

或者您可以为列提供别名,例如

模型

$query = $this->db->query('SELECT Sum(dfp_oral_qty) AS total FROM daily_family_planning_register WHERE YEAR(dfp_date) = (YEAR(NOW()))');

控制器

$rs = $this->referral->count_oral_pills_this_year();
$data['count_oral_pills_this_year'] = $rs[0]['total']

注意:您正在使用'resulte_array()',因此您必须使用特定索引来访问您的结果。

如果您只查询1行,我建议您使用row_array()。

模型

$query = $this->db->query('SELECT Sum(dfp_oral_qty) AS total FROM daily_family_planning_register WHERE YEAR(dfp_date) = (YEAR(NOW()))');
$rs = $query->row_array();
return $rs['total'];

控制器

$data['count_oral_pills_this_year'] = $this->referral->count_oral_pills_this_year();

抱歉我的英语很差。