【问题标题】:How to output codeigniter selects_sum in the view without foreach如何在没有foreach的视图中输出codeigniter select_sum
【发布时间】:2017-08-06 08:30:46
【问题描述】:

如何在不使用 foreach 的情况下将 select_sum 的结果从控制器输出到视图。我不想使用 foreach 因为我的函数只返回 1 个数字。

逻辑是我在 DB 中有一个名为“时间”的数值列,我想将所有这些数值相加,并在我的视图中输出 /10000 旁边的结果。

我认为我需要使用row(),但我不确定如何使用。

控制器:

$this->load->library(array('form_validation', 'session'));
    $this->db->select_sum('time');
    $data['num'] = $this->db->get('posts');

    $this->db->order_by('id', 'DESC');
    $data['query'] = $this->db->get('posts');
    $this->load->view('templates/header');
    $this->load->view('templates/navigation');
    $this->load->view('home_page', $data);
    $this->load->view('templates/footer');

查看:

<?php foreach ($num->result() as $row): ?>
        <?php if (empty($row->time)): echo "0"?>
        <?php else: echo $row->time ?>
        <?php endif ?>/10000</p>
        <?php endforeach;?>

【问题讨论】:

    标签: php codeigniter foreach


    【解决方案1】:

    您可以将row() 与变量结合使用。

    $sql = $this->db->select_sum('time');
    $sql = $this->db->get('posts');
    $data['num'] = $sql->row();
    

    你可以在你的视图中调用

    $num->time;
    

    希望这能解决您的问题。

    【讨论】:

    • 非常感谢!那行得通。只是一个语法问题,我可以统一 $sql = $this->db->select_sum('time'); $sql = $this->db->get('posts');到一个变量或数组或对象中,以便我可以在我的控制器中再次使用它而无需复制这些行。希望这是有道理的。
    • 正确,我想我可以在我的控制器中将 $sql 用于其他实例。
    猜你喜欢
    • 2017-07-30
    • 2011-02-22
    • 2015-06-23
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多