我的数据库中有一个名为club
的表。在club
中有一行名为speler_id
,用这个speler_id
我可以得到speler_id
的值。我想一起计算这些值(因为用户的值超过1speler_id
),这是代码:
$punten = 0;
$sql2 = "SELECT * FROM `club` WHERE `user_id`=" . $userid ." ";
$result2 = mysql_query($sql2) or die('Query failed: ' . mysql_error());
while( $row2 = mysql_fetch_assoc( $result2)) {
$sql = "SELECT * FROM `players_db` WHERE `id`=" . $row2['speler_id'] . " ";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$row = mysql_fetch_assoc( $result);
$punten += $row['xb_end_range'];
echo $punten;
}
但是当我执行这个时,它给了我所有的值,而不是值的总和。
抱歉,使用mySQL会很快将其更新为PDO或mySQLi。
编辑
我找到了答案:
$sql = "SELECT SUM(xb_end_range) AS punten
FROM club AS c
JOIN players_db AS p ON c.speler_id = p.id
WHERE c.user_id = $userid";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$punten = $row['punten'];
echo number_format("$punten")
最佳答案
一般来说,尽量避免在循环中进行查询。相反,加入表格。
$sql = "SELECT SUM(xb_end_range) AS punten
FROM club AS c
JOIN players_db AS p ON c.speler_id = p.id
WHERE c.user_id = $userid";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$punten = $row['punten'];
echo $punten;
关于php - 一起计算行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34424148/