我有这段代码,我用它来首先提取我数据库中存在的所有用户, 然后,我查询他们每个人,看看他们计算了多少点。 我的问题是,有积分的用户查询提取正确的信息,但如果用户没有任何积分,那么,所有这些用户都不会出现 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/