Search code examples
phpcodeignitercodeigniter-3codeigniter-query-builder

How to display total in view page (Codeigniter)


I am just new to Codeigniter. I want to display the total sum of bill_rpt of this SQL query in the view page. here's the code

this is my Model

public function total() {
    $sql="SELECT bill_rpt
    FROM amilyar_bill
    WHERE bill_status = 1";
    return $this->db->query($sql);
}

this is my Controller

public function payments($token=''){
    $this->isLoggedIn();
    $data = array(
            // get data using email
        'token' => $token,
        'admin_info' => $this->model->getAdminInfo($this->session->userdata('email'))->row(),

        'notifications' =>  $this->model->notification_admin($this->session->userdata('email'))->result_array(),
        'notification' =>  $this->model->all_notification_admin($this->session->userdata('email'))->result_array(),
        'total' =>  $this->model->total($this->session->userdata('email'))->result_array(),

    );

    if ($this->session->userdata('position_id') == 2) { 
        $this->load->view('includes/admin_header',$data);
        $this->load->view('admin/reports/payments',$data);
    } else {
        $this->logout();
    }
}

this is my View

<h4 class="pull-right">Total:</h4>

Thanks in advance


Solution

  • Hope this will help you :

    Use ci select_sum() to get the sum

    Your total method should be like this :

    public function total()
    {
       $this->db->select_sum('bill_rpt');
       $this->db->where('bill_status' , '1');
       $query =  $this->db->get('amilyar_bill');
       return $query->row()->bill_rpt;
    }
    

    Your $data part in controller payments method should be like this :

    $data = array(
      'token' => $token,
      'admin_info' => $this->model->getAdminInfo($this->session->userdata('email'))->row(),
      'notifications' =>  $this->model->notification_admin($this->session->userdata('email'))->result_array(),
      'notification' =>  $this->model->all_notification_admin($this->session->userdata('email'))->result_array(),
       'total' =>  $this->model->total()
    );
    

    In payments view part use $total like this :

    <h4 class="pull-right">Total: <?=$total;?></h4>