我正在创建一个Fantasy Football网站,但在从数据库中获取数据以正确顺序显示时遇到了问题。
我需要按以下顺序显示的数据:GK1,GK2,Def1,Def2,Def3,Def4,Def5,Mid1,Mid2,Mid3,Mid4,Mid5,For1,For2,For3。
如您所见,第一个中场球员应该是厄齐尔,因为他是181,并且在中场。但是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>";
}
最佳答案
在订单中添加一列。
ALTER TABLE `table` ADD `order` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
然后你可以选择它
SELECT * FROM `table` ORDER BY `order`
关于mysql - 我如何从phpmyadmin表中获取数据以按输入数据库的顺序显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36181128/