我有这个代码用于迭代我从数据库中选择的一些数据
public function trade_profit_cron(){
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
$loss_account = 0;
$query = $this->db->query("select trade_pool_hash from live_trading group by trade_pool_hash");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
$trade_pool_hash = $row->trade_pool_hash;
$query_pool_loss = $this->db->query("select sum(trade_consequence) as total_loss from live_trading where trade_status = 'LOSS' and trade_pool_hash = '$trade_pool_hash'");
$query_pool_profit = $this->db->query("select * from live_trading where trade_status = 'WIN' and trade_pool_hash = '$trade_pool_hash'");
if ($query_pool_loss->num_rows() > 0)
{
foreach ($query_pool_loss->result() as $row2)
{
$total_loss = $row2->total_loss;
$total_loss_float = floatval($total_loss);
$loss_account = $total_loss_float + $loss_account;
$this->session->set_userdata('loss_account', $loss_account);
echo $this->session->userdata('loss_account').'<br/>';
//Profit Divide
if ($query_pool_profit->num_rows() > 0)
{
foreach ($query_pool_profit->result() as $row)
{
//echo $loss_account.'<br/>';
}
}
}
}
}
}
//echo $this->session->userdata('loss_account');
}
我在外循环中选择数据并使用一些数据来循环内循环。我现在需要得到内循环中的一个字段的总和,我确实得到它。但是,因为我在循环中,所显示的是我的总和的多个值。
我需要将总和作为一个数字,以便我可以将它传递给另一个循环?。
总和是43.5,但这就是我得到的
43
43
43
43
43
43
43
43
43.5
43.5
43.5
代替。如何显示总和的一个值?。
答案 0 :(得分:1)
如果我说得对,你想在循环中获得数据总和。你需要做的就是让你的回声在循环之外,原因是每次循环运行Next Button Clicked
语句时,它会打印它。因此,您可能希望在echo
内注释掉echo
语句,或者将其移到循环外部。一个简单的例子是:
foreach
您的代码示例:
$sum = 0;
$data = [1,2,3,4,5];
foreach($data as $val) {
$sum += $val;
}
echo $sum;