【问题标题】:SQL and While from Last to First PHPSQL 和 While 从最后到第一个 PHP
【发布时间】:2018-07-10 19:15:36
【问题描述】:

我需要 SQL 和 while 方面的帮助 问题是它从第一个到最后一个列出我,所以如下

1 - Hello
2 - Hello
3 - Hello

但我需要这段代码

3 - Hello
2 - Hello
1 - Hello

问题可能是我不能正确使用 while 是的,测试是 MAX(id) 和下一个 ..

简单的代码在这里

$sql = "SELECT id, msg FROM messages ";
$result = $conn->query($sql);
if ($result->num_rows > 0) 
{
while($row = $result->fetch_assoc())
{
echo " " . $row["id"]. " - " . $row["msg"]. "</br>";
}
}

【问题讨论】:

  • 使用order bydesc
  • 除非您指定ORDER BY 子句,否则 MySQL 可以按照它想要的任何顺序返回行。

标签: php mysql sql mysqli


【解决方案1】:

我假设您的 PHP 会回显您需要的内容,但结果的顺序除外。因此,您只需将 mysql 查询更改为此。

"SELECT id, msg FROM messages ORDER BY id DESC"

【讨论】:

    【解决方案2】:

    用途:

    $sql = "SELECT id, msg FROM messages ORDER BY id DESC";
    

    【讨论】:

      【解决方案3】:
      $sql = "SELECT id, msg FROM messages ";
      $result = $conn->query($sql);
      if ($result->num_rows > 0) 
      {
      $count = $result->num_rows;
      while($row = $result->fetch_assoc())
      {
      echo " " . ($count+1 - $row["id"]). " - " . $row["msg"]. "</br>";
      }
      }
      

      【讨论】:

      • 如果 ID 序列有空缺,这将不起作用。
      • 也可以使用 ($count--) 或 (--$count)
      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 2015-04-04
      • 2016-05-30
      相关资源
      最近更新 更多