【问题标题】:Calculating percentage, using CodeIgniter使用 CodeIgniter 计算百分比
【发布时间】:2016-06-29 15:35:22
【问题描述】:

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

phpmyadmin 上的 bal 表

我的控制器

$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 } ?> 

【问题讨论】:

  • 所以这不是 Rocket Science 你尝试过什么所以 不是免费的编码或代码转换或教程或图书馆查找服务 你也有表明您已经为解决自己的问题做出了一些努力。
  • 嘿。我进行了编辑并包含了我之前尝试过的内容。请帮忙。
  • 你甚至没有显示语法错误信息。
  • 已经收录了
  • 我使用 postgres 而不是我的 sql 但不应该是 SUM(bal.bid_amount) AS Total

标签: php mysql codeigniter


【解决方案1】:

这似乎是您想要做的,没有所有 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;

【讨论】:

  • 无法获取列的总数,只能获取一行的值。进行上述编辑以定义我的新问题。
猜你喜欢
  • 1970-01-01
  • 2022-07-06
  • 2011-06-01
  • 2021-01-10
  • 1970-01-01
  • 2013-11-15
  • 2020-12-25
  • 2012-11-01
相关资源
最近更新 更多