php - php 中的 foreach 问题

标签 php mysql

我有这段代码,我用它来首先提取我数据库中存在的所有用户, 然后,我查询他们每个人,看看他们计算了多少点。 我的问题是,有积分的用户查询提取正确的信息,但如果用户没有任何积分,那么,所有这些用户都不会出现 0 分,而是另一个用户的积分给他们。 我的代码有什么问题?

//here i get all user id's
$query = 'SELECT * FROM users';
    $result = mysql_query($query) or die(mysql_error());
    $id_user = array();
    $phone = array();
    $name = array();
    while($row = mysql_fetch_array($result)){
        $id_user[]=$row['user_id'];
        $phone[]=$row['phone'];
        $name[]=$row['first_name'];
    }
//here i get all points collected for each user
    foreach ($id_user as $user_id) {
    $queryuser ='SELECT SUM(basket_value) as total_sum FROM retailer WHERE user_id="'.$user_id.'"';
    $resultuser = mysql_query($queryuser) or die(mysql_error());
    echo "<table>";
    while($row = mysql_fetch_array($resultuser)){

            $total += $row['total_sum'];
            echo "<tr>";
            echo "<td>";
            echo $total;
            echo "</td>";
            echo "<td>";
            echo $user_id;
            echo "</td>";
            echo "</tr>";
        }
    }
    echo "<table>";

最佳答案

您的问题:所有这些用户都不会出现 0 分,但其他用户的分会给予他们

因为你需要在 while($row = mysql_fetch_array($resultuser)){

之前初始化 $total=0;

关于php - php 中的 foreach 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375440/

相关文章:

php - 使用 php dom 创建动态元素

mysql - Ruby on Rails 在单个查询中更新多个记录

php - 将复杂 URL 更改为简单 URL 并删除 Index.php

php - 在 Drupal 7 中更改消息

php - 需要帮助将 mysqli_fetch_array 引用转换为相应的 OCI 引用

PHP 从数组构建语句

php - XAMPP、Eclipse、PHP、MySQL : Fatal error: Call to a member function fetch_array() on null

php - 在创建存储在数据库中的短 URL 算法时,有哪些潜在问题需要解决

PHP 数据验证/输入安全

php最小结果时间段