我对php很新,所以我的问题对许多人来说听起来很简单,但这是我的问题。
我在MySQL中有一个表,为用户提供记分牌。
$connection = mysql_connect('localhost', 'root', '');
$select_db = mysql_select_db('score');
$sql = mysql_query("SELECT * FROM users ORDER BY >score");
function score_table() {
global $sql;
if ($sql) {
$rows_num = mysql_num_rows($sql);
while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i <= $rows_num; $i++) {
echo $i;
}
echo $i.$row['name']." ".$row['score']."<br />\n";
}
}
}
我得到的结果是:
123456Player1 3
123456Player2 400
123456Player3 784
123456Player4 1500
123456Player5 1642
所以有5名球员。虽然首先$ i有6个结果,但每个玩家都会经历整个循环。
我想要实现的是:
1Player1 3
2Player2 400
3Player3 784
4Player4 1500
5Player5 1642
其中第一个数字只是位置。所以谁拥有较少的积分是第一位的。
答案 0 :(得分:1)
$connection = mysql_connect('localhost' ,'root', '');
$select_db = mysql_select_db('score');
$sql = mysql_query("SELECT * FROM users ORDER BY >score");
function score_table()
{
global $sql;
$i=1;
if($sql)
{
while($row = mysql_fetch_array($sql))
{
echo $i++ . $row['name'] . " " . $row['score'] . "<br />".PHP_EOL;
}
}
}