这将是一个令人困惑的问题..我会尽力解释它并尽可能提供更多信息。基本上,我拥有的是一个网站,人们可以上传他们在游戏中获得的杀戮数量。我想要做的是在人物排行榜上展示人物的合并杀伤力。这比我预期的要难得多(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