我必须创建一个前10名排行榜。我在ajax
游戏丢失后设法将数据插入数据库,并在游戏丢失后获取该数据。但我不能改变排行榜的最后(№10)位置。如果结果不在前10名,则改变该结果而不是№10并且位置应该是他在所有结果中的位置。
这是从数据库获取数据:
<?php
require("db_connection.php");
$id = 0;
$sql = "SELECT * FROM Leaderboard ORDER BY score DESC LIMIT 10";
$result = $conn->query($sql);
$datas = array();
if ($result->num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
$datas[] = $row;
$id = $id + 1;
echo "<tr><td>" . $id . "</td><td>" . $row['name'] . "</td><td>" . $row['score'] . "</td></tr>";
}
}
?>
这是JS:
$.post($("#myForm").attr("action"), $("input.info").serializeArray(), function(info) {
console.log(info);
});
$("#Datas").load('./php/get.php');
这是HTML:
<div id="Leaderboard">
<table id="Datas">
<tr>
<th>id</th>
<th>Name</th>
<th>Score</th>
</tr>
</table>
</div>
答案 0 :(得分:0)
您应该在第一个请求结束后重新加载数据:
$.post($("#myForm").attr("action"), $("input.info").serializeArray(), function(info) {
console.log(info);
$("#Datas").load('./php/get.php');
});
答案 1 :(得分:0)
您可以使用PHP array_reverse函数来反转数组的顺序(假设它已经排在1-10之前。 尝试将$ result传递给array_reverse,然后输出结果
$reversedResult = array_reverse($result);
在while循环中使用$ reversedResult而不是$ result应该有效。