Codeigniter:获取记录和总和

bla*_*elt 3 codeigniter codeigniter-2

我有下表,并且尝试显示p_total表中所有其他记录的总和。我设法显示了总金额,但如果显示总金额,则仅显示表格第一行的值。尽管p_total的总和正确显示为600。

您能否告诉我下面的代码在哪里出问题:

提前致谢 :)

我的数据库表:

 p_id   p_name    p_quantity    p_rate   p_total       user_id
  1     Pepsi        12           30       360            1
  2     Hot Breads   12           20       240            1
Run Code Online (Sandbox Code Playgroud)

我的模型中有以下代码

$this->db->select('*,SUM(temporary_table.p_total AS Total');
$this->db->from('temporary_table');
$this->db->where('user_id',$user_id);                                   
$getData = $this->db->get('');

if($getData->num_rows() > 0) {
   return $getData->result_array();
}

else { 
   return null;
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

$this->load->model('mod_sales');
$data['records']= $this->mod_sales->add_to_temporary_table($user_id);
Run Code Online (Sandbox Code Playgroud)

我的看法:

 foreach ($records as $row)
 {   
   <td><?php echo $row['p_name'];?></td>
   <td><?php echo $row['p_quantity'];?></td>
   <td><?php echo $row['p_rate'];?></td>
   <td><?php echo $row['p_total'];?></td>
 }

<?php echo $row['Total'];?>
Run Code Online (Sandbox Code Playgroud)

Lim*_*isa 5

您有一个单独的清单。

$this->db->select_sum('total_price');
$this->db->from('order');
$this->db->where('dates BETWEEN DATE_ADD(NOW(), INTERVAL -7 DAY) AND NOW() ');
$query=$this->db->get();
$data['total']=$query->row()->total_price;

$this->db->select('*');
$this->db->from('order');
$this->db->where('dates BETWEEN DATE_ADD(NOW(), INTERVAL -7 DAY) AND NOW()');
$query=$this->db->get();
$data['count']=$query->num_rows();
Run Code Online (Sandbox Code Playgroud)

输出:

 Array ( 

 [total] => 2759 

 [count] => 5 

)
Run Code Online (Sandbox Code Playgroud)