簡體   English   中英

mysql SUM()和php表中針對特定用戶的動態行不起作用

[英]mysql SUM() and dynamic rows in php table for a specific user not working

我在使用mysql數據庫創建動態表時遇到了困難。

userid | product | amount
2 | cat | 5
2 | dog | 3
2 | cat | 5
3 | cat | 1
3 | dog | 2

我想得到一個表,該表匯總每個用戶的每種產品的數量,以便當用戶訪問特定頁面時,他們可以看到每種產品的總計(例如,用戶2);

Product | Amount
cat | 10
dog | 3

這是我放在一起的PHP代碼,但似乎我的sum函數無法正常工作,我無法弄清楚...預先感謝!

$userid = get_user_id()
$amountperproduct = mysqli_query($con,"SELECT $userid SUM(amount) FROM wp_payout_history GROUP BY product");

echo "<table border='1'>
<tr>
<th>product</th>
<th>grand sum</th>
</tr>";
if (mysqli_num_rows($amountperproduct)>0){
while($row2 = mysqli_fetch_array($amountperproduct))
{
echo "<tr>";
echo "<td>" . $row2['product'] . "</td>";
echo "<td>" . $row2['amount'] . "</td>";
echo "</tr>";
}
}
echo "</table>";

當使用聚合函數,你必須GROUP BY出現在每隔一列SELECT部分(在你的情況:用戶ID)。

現在似乎有很多錯別字,例如SELECT中的$符號,缺少逗號等。

您可能需要這樣的查詢:

SELECT userid, product, SUM(amount) AS total FROM wp_payout_history GROUP BY userid, product

這將創建一個大表,其中包含您要查找的所有信息。 如果只需要一個用戶這樣的表,請使用WHERE部件,例如:

SELECT product, SUM(amount) AS total FROM wp_payout_history WHERE userid = '$userid' GROUP BY product

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM