這將是一個令人困惑的問題..我會盡力解釋它並儘可能提供更多信息。基本上,我擁有的是一個網站,人們可以上傳他們在遊戲中獲得的殺戮數量。我想要做的是在人物排行榜上展示人物的合併殺傷力。這比我預期的要難得多(LOL)。通過數據庫中行的組合值排序SQL結果
這裏是我的數據庫看起來像:
submission
是入門的唯一ID。
usergt
是用戶的遊戲標籤。
image
並不重要。
userkilled
是他們遇害的人。
status
是確認殺死的狀態。
conftotal
是我們通過圖像確認的總殺傷率(例如,條目5記錄了24殺)。
submitted
僅僅是提交日期和時間的unix時間戳。
這裏是我的網頁上PHP:
<?php
function getKills($gamertag) {
$conn = new mysqli("localhost", "rpsanet_seals", "k_,2N2Xbu}mr", "rpsanet_seals");
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}
$sql = "SELECT conftotal FROM kills WHERE usergt='" . $gamertag . "'";
$result = $conn->query($sql);
$ctotalklls = 0;
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$ctotalklls = $ctotalklls + $row["conftotal"];
}
} else {
$ctotalklls = 0;
}
return $ctotalklls;
$conn->close();
}
?>
<div class="mykills_content">
<table class="mykills_table">
<tr>
<th class="mk_first">Avatar</th>
<th>Gamertag</th>
<th>Latest Victim</th>
<th class="mk_last">Total Kills</th>
</tr>
<?php
$conn = new mysqli("localhost", "rpsanet_seals", "k_,2N2Xbu}mr", "rpsanet_seals");
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}
$sql = "SELECT *, COUNT(*) AS magnitude
FROM kills
WHERE status='confirmed'
GROUP BY usergt
ORDER BY magnitude ASC
LIMIT 5";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '
<tr>
<td class="mykills_submission" data-submission="' . $row["submission"] . '">
<div class="mykills_avatar">
<img src="https://avatar-ssl.xboxlive.com/avatar/' . $row["usergt"] . '/avatarpic-l.png" class="mykills_victim_avatar" draggable="false" />
</div>
</td>
<td>
' . $row["usergt"] . '
</td>
<td>
' . $row["userkilled"] . '
</td>
<td>
' . getKills($row["usergt"]) . '
</td>
</tr>
';
}
echo '</table>';
} else {
echo '</table><div class="fw-nokills">You have not submitted any kills yet.</div>';
}
$conn->close();
?>
</div>
</div>
,這就是它看起來像在頁面上:
我不知道我做錯了或如何解決它。如您所見,訂單不正確。它應該去CheapApples12,然後KILLER C00KIE X,然後ancrobbo97。
如果別的不明確,或需要其他任何信息,只是評論,我會盡快我可以對任何人..
我感謝所有幫助提前:)
重要信息:上述屏幕截圖中顯示的「Total Kills」是從getKills()函數生成的,而不是數據庫查詢結果。
通過刪除圖像,並添加展示創建+幾行字的使用順序可以讓事情更容易爲人們所理解示例dat – e4c5
不需要多個查詢嘗試這一個SELECT *,總和(conftotal)作爲totalkills 從殺害 WHERE status ='確認' GROUP BY usergt ORDER BY totalkills desc – JYoThI
它提供0個結果 - https://i.gyazo.com/09b357f233a2145f02daf00c61ebe734.png – Bradley