【发布时间】:2016-07-10 22:02:41
【问题描述】:
我正在创建一个 Fantasy Football 网站,但在从数据库中获取数据以按正确顺序显示时遇到问题。
我需要数据按 GK1、GK2、Def1、Def2、Def3、Def4、Def5、Mid1、Mid2、Mid3、Mid4、Mid5、For1、For2、For3 的顺序显示。
如您所见,第一个中场球员应该是厄齐尔,因为他 181 岁,处于 Mid1。但是 Midfielder1 显示为 176 低于 181。
该表包含 PremPlayers 表中玩家的 ID,然后进行连接以显示数据
我的选择声明:
SELECT PremPlayers.LastName , PremPlayers.Img FROM `PremPlayers`
INNER JOIN FantasyLogin
ON PremPlayers.ID=FantasyLogin.GK1 OR PremPlayers.ID=FantasyLogin.GK2 OR PremPlayers.ID=FantasyLogin.Def1 OR PremPlayers.ID=FantasyLogin.Def2 OR PremPlayers.ID=FantasyLogin.Def3 OR PremPlayers.ID=FantasyLogin.Def4 OR PremPlayers.ID=FantasyLogin.Def5 OR PremPlayers.ID=FantasyLogin.Mid1 OR PremPlayers.ID=FantasyLogin.Mid2 OR PremPlayers.ID=FantasyLogin.Mid3 OR PremPlayers.ID=FantasyLogin.Mid4 OR PremPlayers.ID=FantasyLogin.Mid5 OR PremPlayers.ID=FantasyLogin.For1 OR PremPlayers.ID=FantasyLogin.For2 OR PremPlayers.ID=FantasyLogin.For3
Where FantasyLogin.ID = '$UserID'
ORDER BY PremPlayers.PositionID
问题在于它按 ID 顺序显示播放器,因此当用户去更改播放器时,它不一定选择正确的播放器。
显示播放器的php代码:
function displayData($result){
while ($row = $result->fetch_assoc()){
$playerno = $playerno +1;
print "<div class='col-md-2'>";
print " <h3>" . $row["LastName"] . "</h3>";
print " <img class='img-responsive' src='assets/img/". $row["Img"] .".jpg' alt='No Image Found'>
<p><br><a class='btn btn-success' href='removeplayer" . $playerno . ".php' role='button'>Pick Player " . $playerno . "</a><br></p>
</div>";
}
print "</div>";
}
【问题讨论】:
-
创建一个排序列,给它适当的值,然后使用它
标签: mysql sql sql-order-by