你需要连接,抓住所有的东西,然后回声到table。连接代码是从w3schools。假设有一个表stats
一个名为username
和score
领域:
<html>
<body>
<table style="width:100%">
<tr>
<th>Username</th>
<th>Score</th>
</tr>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT username, score FROM stats ORDER BY ABS(score) DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["username"] . "</td><td>" . $row["score"] . "</td></tr>";
}
} else {
echo "0 results";
}
$conn->close();
?>
</table>
</html>
您需要使用ORDER BY,在SQL命令的结果,由score
列。
编辑#1:我改变ORDER BY score
到ORDER BY ABS(score) DESC
因为我注意到它没有命令权(inspired by this answer)
SQL FIDDLE(只是查询):http://sqlfiddle.com/#!9/78f41/9/0
为了突出你的名字,只要将输出循环修改为此,只需将background-color: #ffff99;
添加到该行,如果它匹配$yourusername
。您需要弄清楚如何获取当前用户的名称,并将它设置为$yourusername
。下面是编辑循环:
while($row = $result->fetch_assoc()) {
if ($yourusername == $row["username"]) {
echo "<tr style='background-color: #ffff99;'><td>" . $row["username"] . "</td><td>" . $row["score"] . "</td></tr>";
} else {
echo "<tr><td>" . $row["username"] . "</td><td>" . $row["score"] . "</td></tr>";
}
}
它采用style,检查出cssdesk:http://www.cssdesk.com/sq7Qq
相关https://stackoverflow.com/questions/14025959/how-can-i-make-a-basic-php-scoreboard –
感谢,但它不是我所需要的。我想在游戏中发短信给玩家自己的位置。从MySql –
我知道,这只是相关的。我正在写一个答案。 –