1

伙计们。我有以下脚本

<?php
$result = mysql_query("SELECT * FROM players") or die(mysql_error());
echo "<table class=\"table table-bordered table-hover\" border='1' cellpadding='10'>";
echo "<tr> <th>ID</th> <th>Place</th> <th>Name</th> <th>Points</th> <th></th> <th></th></tr>";

// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $result )) {

    // echo out the contents of each row into a table
    echo "<tr>";
    echo '<td>' . $row['id'] . '</td>';
    echo '<td>' . $row['place'] . '</td>';
    echo '<td>' . $row['name'] . '</td>';
    echo '<td>' . $row['points'] . '</td>';
    echo '<td><a href="wtawomenedit.php?id=' . $row['id'] . '">Edit</a></td>';
    echo '<td><a href="deleter.php?id=' . $row['id'] . '">Delete</a></td>';
    echo "</tr>"; 
} 

// close table>
echo "</table>";
?>

该脚本显示了 MySQL 表中的所有内容,但行是混合的,当我将它用于 rang 列表时,我想显示按点过滤的行。具有较高点的行排在第一位,依此类推。提前谢谢你,我什么都没做。像以前那样,所以我不知道如何使它工作。

4

5 回答 5

1

您必须将 mysql qyuery 编辑为

SELECT *
FROM players
ORDER BY points DESC 
于 2013-03-27T07:48:49.463 回答
1

在查询中使用ORDER BY子句。

SELECT * FROM players ORDER BY points DESC

注意: 请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-03-27T07:49:47.543 回答
1

您需要按点对结果进行排序......按 desc 顺序

$result = mysql_query("SELECT * FROM players ORDER BY points DESC");

于 2013-03-27T07:47:16.637 回答
1

用户ORDER BY在您的查询中首先获得更高的分数。

尝试这个...

$result = mysql_query("SELECT * FROM players ORDER BY points DESC");
于 2013-03-27T07:47:49.630 回答
1

在 SQL 中有一个选项ORDER BY您可以在这种情况下使用它。

对于 Max 到 Min,

$result = mysql_query("SELECT * FROM players ORDER BY points DESC") ;

对于最小值到最大值,

$result = mysql_query("SELECT * FROM players ORDER BY points ASC") ;
于 2013-03-27T07:48:26.517 回答