我认为我的问题可能有一个简单的解决方案。我正在尝试获取mysqli_query调用返回的值的总和。也许有人可以帮我解决这个问题?
在我的数据库中,有INT值。
function get_einkommen($user, $var){
global $db;
$sum;
$sum2=0;
$query = "SELECT $var FROM kartedb WHERE besetzt_von_user = '$user'";
if ($result = mysqli_query($db, $query)) {
while ($obj = mysqli_fetch_object($result)) {
$sum=intval($obj->$var);
echo $sum;
}
for($i=0;$i<10;$i++){
$sum2=$sum2+$sum[$i];
echo $sum;
}
mysqli_free_result($result);
}
}
从第一个回声中,我得到1121110(所以theese是数据库中的值。),但是从第二个回声我只看到0000000000。即使for-loop也不好,不知道如何处理它。有什么建议吗?
答案 0 :(得分:0)
您反复设置金额而不是添加金额。
function get_einkommen($user, $var){
global $db;
$sum;
$sum2=0;
$query = "SELECT $var FROM kartedb WHERE besetzt_von_user = '$user'";
if ($result = mysqli_query($db, $query)) {
while ($obj = mysqli_fetch_object($result)) {
$sum += intval($obj->$var);
echo $sum;
}
for($i=0;$i<10;$i++){
$sum2=$sum2+$sum[$i];
echo $sum;
}
mysqli_free_result($result);
}
}
我认为这会解决您的问题。
答案 1 :(得分:0)
你可以将求和推到mysql。
从kartedb中选择总和(列),其中besetzt_von_user =&#39; $ user&#39;;
然后,您只需要一个预先计算的总和来检索。
如果行数很小,可能没有太大的区别,但是如果它是一个很大的总和,则写入的字节数会减少。
答案 2 :(得分:0)
最后我修好了,用这种方式工作......
function get_einkommen($user, $var){
global $db;
$query = "SELECT sum($var) AS var_sum FROM kartedb WHERE besetzt_von_user = '$user'";
$result = mysqli_query($db,$query);
$row = mysqli_fetch_assoc($result);
$sum = $row['var_sum'];
echo $sum;
}