我怎样才能在php文件中获得总和值
$a = mysql_query('SELECT d.name, d.idnumber, d.days FROM users d');
while($row = mysql_fetch_array($a))
{
$idnumber = $row['idnumber'];
$days = $row['days'];
echo $array_sum($days);
}
我需要在php文件中将我从数据库中获取的变量求和,而不是在查询中作为SUM。在我的数据库中,我有3行,即3,10和1.所以我需要14作为总和
答案 0 :(得分:1)
$sum = 0;
$a = mysql_query('SELECT d.name, d.idnumber, d.days FROM users d');
while($row = mysql_fetch_array($a))
{
$idnumber = $row['idnumber'];
$days = $row['days'];
$sum += intval($days);
}
echo $sum;
答案 1 :(得分:0)
$sum = 0
while(...){
....
$sum += $days;
echo $sum;
}
答案 2 :(得分:0)
另一种选择,如果你发现自己需要经常做这样的事情,就是调换结果,这样你就可以轻松地对你想要的列进行求和。我在blog post中写了详细的信息。如果您不想点击:
,也会在下方粘贴转置功能function transpose($array) {
if (!is_array($array) || empty($array)) {
return array();
}
else {
foreach ($array as $row_key => $row) {
if (is_array($row) && !empty($row)) { //check to see if there is a second dimension
foreach ($row as $column_key => $element) {
$transposed_array[$column_key][$row_key] = $element;
}
}
else {
$transposed_array[0][$row_key] = $row;
}
}
return $transposed_array;
}
}
将此应用于您在问题中发布的代码,即可获得
$a = mysql_query('SELECT d.name, d.idnumber, d.days FROM users d');
$rows = array();
while($row = mysql_fetch_assoc($a)) {
$rows[] = $row;
}
$transposed_results = transpose($rows);
echo array_sum($transposed_results['days']);
使用此技术还有其他一些好处,例如允许您轻松foreach
通过列的值,或者对列的值运行更复杂的array_map
回调。