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

标签 mysql sql sql-order-by

我正在创建 Fantasy Football 网站,但无法从数据库获取数据并以正确的顺序显示。

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

Database Table enter image description here

正如您所看到的,第一个中场球员应该是厄齐尔,因为他的高度为 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>";

  }

最佳答案

添加包含订单的列。

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/

相关文章:

sqlite - 按特定/自定义顺序查询 Sqlite 数据库?

php - 将多个选择值从 html 插入 mysql 数据库

php - 错误 : mysqlnd cannot connect to MySQL 4. 1+ 使用旧的不安全身份验证

sql - 相当于oracle sql中的`show create table`

mysql:按like排序?

MYSQL DISTINCT ORDER BY 没有给出正确的顺序

MYSQL 查询 : How to UNION two table with ORDER BY

MYSQL组合 View 在日期范围内具有不同数量的条目记录的两个表

mysql - 在查询中使用 UNION、COUNT 和 GROUP BY

mysql - 如何从数据库中选择高于确切数字的数据