首页 > 解决方案 > codeigniter - 如何将表列中的值相加

问题描述

试图从我的表 (non_clinical_total_tests) 中获取列 (af_am_msm) 中输入的值的总和。我想在 html 表中显示该总数。

我的错误信息是:

遇到 PHP 错误 - 严重性:通知 - 消息:数组到字符串的转换

我的模型:

public function af_am_sum()
{
    $this->db->select_sum('af_am_msm');
    $query = $this->db->get('non_clinical_total_tests');
    return $query->result();
}

我的控制器:

public function index()
{
    $data['af_am_total'] = $this->Page_model->af_am_sum();

    $data['pages'] = $this->Page_model->get_list();

    $this->template->load('admin', 'default', 'district1', $data);

}

我的观点:

<td><?php echo $af_am_total; ?></td>

标签: codeignitercolumn-sum

解决方案


Codeigniter 的result()函数总是返回一个对象数组。在您看来,您将其作为字符串回显,因此会出现错误。为了避免产生结果行,循环遍历数组,或者:

就像在您的示例中一样,由于您只期望一行(一列的总和),因此您可以使用row()->the_name_of_your_column. 为了简化输出,我们可以为 mysql sum 创建一个别名,将其命名为第二个参数:

$this->db->select_sum('af_am_msm','my_sum');
$query = $this->db->get('non_clinical_total_tests');
return $query->row()->my_sum;

在您看来,这与假装相呼应


推荐阅读