使用PHP从数据库检索后汇总值
我正在从mysql数据库获取一些信息,并使用以下脚本显示它(我正在使用Codeigniter) 现在我要做的是将使用PHP从数据库检索后汇总值,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我正在从mysql数据库获取一些信息,并使用以下脚本显示它(我正在使用Codeigniter) 现在我要做的是将$row['amount']中的所有值相加并将求和的值放入$sum\u value中,以便在回显$sum\u值时得到以下值 45,250.84 你能告诉我怎么做吗 我知道我可以用mysql做一些求和的事情,但是我想学习如何这样做 提前感谢:)通过foreach在每个循环中迭代添加到您的总和: $sum = 0; foreach ( $records as $row ) { $su
$row['amount']中的所有值相加
并将求和的值放入$sum\u value
中,以便在回显$sum\u值时得到以下值
45,250.84
你能告诉我怎么做吗
我知道我可以用mysql做一些求和的事情,但是我想学习如何这样做
提前感谢:)通过foreach在每个循环中迭代添加到您的总和:
$sum = 0;
foreach ( $records as $row ) {
$sum += str_replace(",", "", $row['amount']);
}
echo number_format( $sum, 2 );
也许是这样的:
<?
if(count($records) > 0) {
$i = $this->uri->segment(3) + 0;
$sum_value = 0;
foreach ($records as $row){
$i++; // Don't know what you use $i for, get rid of it if unnecessary
// Add value to the sum
$sum_value += (float)str_replace(",", "", $row["amount"]);
// Print the current value
echo $row['amount'] + "<br/>";
}
echo $sum_value; // Print the total sum after the loop
} else {
echo "No Record Found";
} ?>
首先,您需要将其转换为正确的数字:
$nums = array_map(function(&$row) {
return (float) str_replace(',', '',$row['amount']);
}, $records);
然后您可以使用数组\u sum
:
echo number_format(array_sum($nums), 2);
行不通。他的数字是PHP将被认为是10, 20的字符串。15@d_inevitable说得好。去掉逗号就可以正确地施法。@black_belt天才在苹果商店工作。我只是一个开发者;)
$nums = array_map(function(&$row) {
return (float) str_replace(',', '',$row['amount']);
}, $records);
echo number_format(array_sum($nums), 2);