我正在创建一个Fantasy Football网站,但在从数据库中获取数据以正确顺序显示时遇到了问题。

我需要按以下顺序显示的数据:GK1,GK2,Def1,Def2,Def3,Def4,Def5,Mid1,Mid2,Mid3,Mid4,Mid5,For1,For2,For3。

mysql - 我如何从phpmyadmin表中获取数据以按输入数据库的顺序显示-LMLPHP
mysql - 我如何从phpmyadmin表中获取数据以按输入数据库的顺序显示-LMLPHP

如您所见,第一个中场球员应该是厄齐尔,因为他是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/

10-11 01:27
查看更多