【问题标题】:list the last 10 rows from sql and print it in marquee列出 sql 的最后 10 行并在 marquee 中打印
【发布时间】:2014-03-16 13:38:31
【问题描述】:

如何列出sql的最后10行?

我以前用过"SELECT * FROM event ORDER BY ID DESC LIMIT 1",它对我很有效,我想用它可能会奏效。

我用"SELECT * FROM event ORDER BY ID DESC LIMIT 10"

"SELECT TOP 10 * FROM event ORDER BY ID DESC LIMIT 1"

和“SELECT * FROM event ORDER BY ID DESC LIMIT 10,999999” 但不起作用。

这是php文件

<?php
$con=mysqli_connect("rock","mido","1234","fyp");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

 $result = mysqli_query($con,"SELECT * FROM event ORDER BY ID DESC LIMIT 1");
  $row = mysqli_fetch_array($result) ;

 {

  echo $row['EventName'] . $row['Date'] . $row['Time'] . $row['Venue'] . $row['Note'];

  }

mysqli_close($con);
?>

还有最重要的,有没有办法一一显示? 我应该试试marquee 吗?

【问题讨论】:

  • "SELECT * FROM event ORDER BY ID DESC LIMIT 10" 有什么问题?应该工作
  • 给定ID 是一个自动增量字段,使用ORDER BY id DESC 会将其从最后一个条目排序到第一个条目,并将其限制为10 将显示最后10 个条目。使用那个有问题吗?或者,如果您有 DATETIME 字段,您也可以使用该字段。您是否有任何具体原因正在寻找另一种方法?
  • @oschlueter 它只显示第 10 行
  • 我不是在寻找其他方式,但是 ORDER BY ID DESC 并将其限制为 10 并不能满足我的需要
  • @opa.mido 你的代码没有while 所以很明显它会给你一个单一的结果。 See this example.至于1比1你需要学习HTML和CSS。

标签: php html mysql sql database


【解决方案1】:

试试这个查询:

SELECT * FROM event ORDER BY ID LIMIT 10 OFFSET (SELECT COUNT(*) - 11 FROM event);

【讨论】:

    【解决方案2】:

    我认为最简单的方法是更改​​order by

    SELECT *
    FROM event
    ORDER BY ID ASC
    LIMIT 10;
    

    如果您希望它们按id 降序排列,您可以使用子查询:

    SELECT *
    FROM (SELECT *
          FROM event
          ORDER BY ID ASC
          LIMIT 10
         ) e
    ORDER BY ID DESC;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多