如何在php数组中更改№10结果?

时间:2018-02-06 15:27:13

标签: php html sql ajax

我必须创建一个前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>

2 个答案:

答案 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应该有效。