我哈瓦的表像這樣如何呼應一個GROUP BY的PHP中的第一個值
|Rank|Location|Item Sold|Success|Failed|
|--------------------------------------|
|1 |Mall |7 |5 |2 |
|2 |School |5 |2 |3 |
|3 |Office |4 |0 |4 |
我希望發生的是讓項目的最高銷售數量,在這種情況下,它是7和然後迴應它。那我的目標的結果是這樣的
Most number of items sold for the day: 7
|Rank|Location|Item Sold|Success|Failed|
|--------------------------------------|
|1 |Mall |7 |5 |2 |
|2 |School |5 |2 |3 |
|3 |Office |4 |0 |4 |
我不知道如何做到這一點
這是我用來從數據庫中獲取數據的SQL代碼是這樣
<?php
$sql = "SELECT location, COUNT(*) as itemsold,
SUM(CASE WHEN leadstatus = 'Success' THEN 1 ELSE 0 END) as Success,
SUM(CASE WHEN leadstatus = 'Failed' THEN 1 ELSE 0 END) as Failed
FROM inventory
LEFT JOIN inventorydetails ON inventory.leadid = inventorydetails.leadid
GROUP BY location
ORDER BY itemsold DESC";
$result = mysqli_query($conn, $sql);
?>
,這是我用來創建表,然後填充表與數據庫中的信息的代碼
<table border ="5" align="center">
<tr>
<td>Rank</td>
<td>Location</td>
<td>Item Sold</td>
<td>Success</td>
<td>Failed</td>
</tr>
<?php
$i = 1;
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$i."</td>";
echo "<td>".$row[location]."</td>";
echo "<td>".$row[itemsold]."</td>";
echo "<td>".$row[Success]."</td>";
echo "<td>".$row[Failed]."</td>";
echo "</tr>";
$i=$i+1;
}
?>
</table>
您是否收到任何錯誤 –
我沒有收到任何錯誤,表格工作正常。我只是想要得到最高數量的商品銷售 – marse
,因爲你訂購,你的第一行是最高的。因此,獲取,顯示標題,然後開始你的表循環,但使用'do .. while'而不是一會兒。 –