Php can';t将查询中的int值相加
嘿,伙计们,我有一个mysql查询,它从数据库表中读取一些记录。$key->r4、$key->sr13和$key->huawei字段显示得非常完美,但我无法得到这三个字段的总和。 这是我的密码:Php can';t将查询中的int值相加,php,mysql,Php,Mysql,嘿,伙计们,我有一个mysql查询,它从数据库表中读取一些记录。$key->r4、$key->sr13和$key->huawei字段显示得非常完美,但我无法得到这三个字段的总和。 这是我的密码: $total_r4=0;$total_sr13=0;$total_huawei=0; foreach($view_data->result() as $key){ $total_r4 += $key->r4; $total_sr13
$total_r4=0;$total_sr13=0;$total_huawei=0;
foreach($view_data->result() as $key){
$total_r4 += $key->r4;
$total_sr13 += $key->sr13;
$total_huawei += $key->huawei;
echo "<tr>";
echo "<td>$key->date";
echo "<td>$key->time";
echo "<td>$key->r4";
echo "<td>$key->sr13";
echo "<td>$key->huawei";
echo "<td>".$key->r4 + $key->sr13 + $key->huawei;
}
$total\u r4=0$总数13=0$总数=0;
foreach($view\u data->result()作为$key){
$total_r4+=$key->r4;
$total_sr13+=$key->sr13;
$total_huawei+=$key->huawei;
回声“;
回显“$key->date”;
回显“$key->time”;
回显“$key->r4”;
回显“$key->sr13”;
回显“$key->huawei”;
回声“$key->r4+$key->sr13+$key->华为;
}
问题实际上是在最后一行,3个变量没有求和 试试看:
...
$total_r4 += $key->r4;
$total_sr13 += $key->sr13;
$total_huawei += $key->huawei;
$tdTotal = ($key->r4 + $key->sr13 + $key->huawei);
.....
echo "<td>".$tdTotal."</td>";
。。。
$total_r4+=$key->r4;
$total_sr13+=$key->sr13;
$total_huawei+=$key->huawei;
$tdTotal=($key->r4+$key->sr13+$key->华为);
.....
回显“$tdTotal.”;
如下所述,
字符串串联运算符和+
算术加法运算符具有相同的优先级。因为它们是左关联的,所以从左到右对它们进行求值;因此,当前表达式的计算结果为:
echo (("<td>".$key->r4) + $key->sr13) + $key->huawei;
请注意,第二种方法更有效,因为PHP不需要在内存中构建连接字符串。在不需要变量扩展的情况下,还可以使用单引号文本来避免对双引号字符串文本进行不必要的解析:
echo '<td>', $key->r4 + $key->sr13 + $key->huawei;
echo',$key->r4+$key->sr13+$key->华为;
使用PHP进行求和,但不要忘记使用或转换数据
echo”。(intval($key->r4)+intval($key->sr13)+intval($key->huawei));
不要忘记用
标记关闭TD
试试这个:echo>($key->r4+$key->sr13+$key->huawei)哦,谢谢你,克库伯!我真傻,别忘了用
标记关闭TD
,r4
,sr13
和huawei
是同一$key
行的字段,因此MySQL的SUM()
聚合函数不合适(如果需要,可以在选择列表中使用+
运算符)。
echo "<td>", $key->r4 + $key->sr13 + $key->huawei;
echo '<td>', $key->r4 + $key->sr13 + $key->huawei;
echo "<td>".(intval($key->r4) + intval($key->sr13) + intval($key->huawei))."</td>;