我有这个代码,它给出了数据库的输出,现在我想根据TeamPoints
对它进行排序。得分较高的球队获得第一名。我该如何实施呢。
我一直在尝试在数据库中添加TeamRank
字段,该字段按增量或减量更新团队排名。但它不起作用,所以我决定只按分数排序,但现在我面临着按顺序排列它们的问题。
<?php
$con=mysqli_connect("", "", ", "");
// Check connection:
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"CREATE VIEW Rankings AS
SELECT TeamID, TeamName, TeamLeader, TeamEmail, P_1, P_2, P_3, P_4, P_5, S_1, S_2, TeamWins, TeamLoss, TeamPoints
FROM team
WHERE TeamID>0");
$result = mysqli_query($con,"SELECT * FROM team");
echo "<table border='1'>
<tr>
<th>TeamID</th>
<th>TeamName</th>
<th>TeamLeader</th>
<th>TeamEmail</th>
<th>Player #1</th>
<th>Player #2</th>
<th>Player #3</th>
<th>Player #4</th>
<th>Player #5</th>
<th>Subsitute #1</th>
<th>Subsitute #2</th>
<th>Total Wins</th>
<th>Total Losses</th>
<th>Total Points</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['TeamID'] . "</td>";
echo "<td>" . $row['TeamName'] . "</td>";
echo "<td>" . $row['TeamLeader'] . "</td>";
echo "<td>" . $row['TeamEmail'] . "</td>";
echo "<td>" . $row['P_1'] . "</td>";
echo "<td>" . $row['P_2'] . "</td>";
echo "<td>" . $row['P_3'] . "</td>";
echo "<td>" . $row['P_4'] . "</td>";
echo "<td>" . $row['P_5'] . "</td>";
echo "<td>" . $row['S_1'] . "</td>";
echo "<td>" . $row['S_2'] . "</td>";
echo "<td>" . $row['TeamWins'] . "</td>";
echo "<td>" . $row['TeamLoss'] . "</td>";
echo "<td>" . $row['TeamPoints'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
答案 0 :(得分:1)
这是你想要的吗?
SELECT TeamID,TeamName,TeamLeader,TeamEmail,P_1,P_2,P_3,P_4,P_5,S_1,S_2,TeamWins,TeamLoss,TeamPoints
FROM team
where TeamID>0
ORDER BY TeamPoints DESC;
答案 1 :(得分:0)
CREATE VIEW Rankings AS
SELECT TeamID
, TeamName
, TeamLeader
, TeamEmail
, P_1 -- none
, P_2 -- of
, P_3 -- these
, P_4 -- belong
, P_5 -- in a
, S_1 -- teams
, S_2 -- table
, TeamWins -- and even
, TeamLoss -- these are
, TeamPoints -- questionable
FROM team
where TeamID > 0;
答案 2 :(得分:0)
为选择添加排名并将其输出,同时将输出限制为页面(10 - 容易更改): -
<?php
$con=mysqli_connect("", "", "", "");
// Check connection:
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$PageStart = 10 * intval($_POST['page']);
$result = mysqli_query($con,"SELECT TeamID,
TeamName,
TeamLeader,
TeamEmail,
P_1,
P_2,
P_3,
P_4,
P_5,
S_1,
S_2,
TeamWins,
TeamLoss,
TeamPoints,
TeamRnk
FROM
(
SELECT TeamID,
TeamName,
TeamLeader,
TeamEmail,
P_1,
P_2,
P_3,
P_4,
P_5,
S_1,
S_2,
TeamWins,
TeamLoss,
TeamPoints,
@Rank := @Rank + 1 AS TeamRnk
FROM SomeTable
CROSS JOIN (SELECT @Rank:=0) Sub0
ORDER BY TeamPoints DESC
) Sub1
LIMIT $PageStart, 10");
echo "<table border='1'>
<tr>
<th>TeamRnk</th>
<th>TeamID</th>
<th>TeamName</th>
<th>TeamLeader</th>
<th>TeamEmail</th>
<th>Player #1</th>
<th>Player #2</th>
<th>Player #3</th>
<th>Player #4</th>
<th>Player #5</th>
<th>Subsitute #1</th>
<th>Subsitute #2</th>
<th>Total Wins</th>
<th>Total Losses</th>
<th>Total Points</th>
</tr>";
while($row = mysqli_fetch_assoc($result))
{
echo "<tr>";
echo "<td>" . $row['TeamRnk'] . "</td>";
echo "<td>" . $row['TeamID'] . "</td>";
echo "<td>" . $row['TeamName'] . "</td>";
echo "<td>" . $row['TeamLeader'] . "</td>";
echo "<td>" . $row['TeamEmail'] . "</td>";
echo "<td>" . $row['P_1'] . "</td>";
echo "<td>" . $row['P_2'] . "</td>";
echo "<td>" . $row['P_3'] . "</td>";
echo "<td>" . $row['P_4'] . "</td>";
echo "<td>" . $row['P_5'] . "</td>";
echo "<td>" . $row['S_1'] . "</td>";
echo "<td>" . $row['S_2'] . "</td>";
echo "<td>" . $row['TeamWins'] . "</td>";
echo "<td>" . $row['TeamLoss'] . "</td>";
echo "<td>" . $row['TeamPoints'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>