使用CodeIgniter计算百分比

时间:2016-06-29 15:35:22

标签: php mysql codeigniter

我想计算bid_amount列的总和以及从表中输出的总和的百分比值。我只得到一行的出价金额为78.而不是我想要的bid_amount的总和。

关于phpmyadmin的bal表

enter image description here

我的控制器

$data['accountbalance']=$this->Agentaccount_model->accountbalance(); 

我的模特

public function accountbalance()  {  
    $area = $this->session->userdata('area');
    $this->db->select('*,SUM(bal.bid_amount)AS Total');
    $this->db->from('bal');
    $this->db->where('bal.area' , $area);
    $this->db->join('agent','bal.area=agent.area');
    $this->db->where('agent.status',1);
    $query = $this->db->get();
    return $query;  
}

我的观点

   <?php $total_sum=0;  ?>
   <?php $row_count = 0; ?>
   <?php
   foreach ($accountbalance->result() as $row)  
   {
   ?>      
   <address>
    <?php   
     echo 'Account Balance ' . $row->bid_amount;
     $total_sum += $row->bid_amount;
     $row_count++;
     ?>  
    </address>               
   <?php echo 'Sum ' . $total_sum*$row_count; ?>
   <?php } ?> 

1 个答案:

答案 0 :(得分:0)

这看起来就像你想要做的那样,没有所有的PHP启动停止标记,它更容易阅读和初始化循环外的$total_sum=0;。此外,您需要计算处理的行数以获得适当的百分比,因此我添加了它。

<?php
    // initialization moved outside the loop
    $total_sum=0;
    $row_count = 0;

    foreach ($accountbalance->result() as $row) {
        echo 'Account Balance ' . $row->bid_amount;
        $total_sum += $row->bid_amount;
        $row_count++;
    }
    echo 'Average ' . $total_sum / $row_count;