[英]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.