【问题标题】:Displaying limited rows from SQL database using PHP [duplicate]使用 PHP 显示 SQL 数据库中的有限行 [重复]
【发布时间】:2023-03-12 06:41:02
【问题描述】:

考虑一个有 100 行的数据库表,并且该表会更新,即行数会定期增加。

假设当访问者访问我的网站时,我的表由 Xrows 组成,但我只希望从 (X-25) 到 (X-50) 的行可见。

我需要帮助编写一个 PHP 代码,以便只有从 (X-25) 到 (X-50) 的行可见

我是 PHP 新手,SQL 的帮助会对我有很大帮助:)

【问题讨论】:

  • 在获取时限制似乎比限制视图更好。尝试限制mysql?

标签: php mysql sql database


【解决方案1】:

您可以使用limit来显示特定记录。

下面的 SQL 查询说“只返回 10 条记录,从 15 条记录开始”:

 "SELECT * FROM Orders LIMIT 15, 10";

1) 考虑一下,您有 100 条记录 0-99。广告要显示从第 11 条记录开始的 20 条记录,然后查询将是

"SELECT * FROM Orders LIMIT 11, 20";

2) 如果你想显示前 20 条记录,那么查询将是:

 "SELECT * FROM Orders LIMIT 20";

3) 如果要显示最新的 20 条记录,那么:

 "SELECT * FROM Orders ORDER BY orderid DESC LIMIT 20"; 

【讨论】:

  • 我想在一页中显示最后 20 条记录(我知道怎么做)。但我想知道如何以降序显示从 (X-20) 开始的接下来的 20 行,其中 X 是总行数并且不是恒定的,即在表中的每个新行上增加 1
  • 所以你希望表格的最后 20 行按降序排列?
  • select * from orders order by id desc limit 20;
  • 我想知道如何在另一个网页中以降序显示从 (X-20) 开始的接下来的 20 行,其中 X 是总行数并且不是恒定的,即增加 1在表中的每个新行上
【解决方案2】:

要获取您插入的最后 20 条记录.. 如果你使用自增主键orderid,你可以使用查询

"SELECT * FROM Orders ORDER BY orderid DESC LIMIT 20"; 

【讨论】:

    【解决方案3】:

    在 MYSQl 中

    SELECT * FROM table LIMIT 25, 25 -- 获取第 26 行之后的 25 条记录

    如果您希望第 25-50 行按降序排列,您可以这样做:

    SELECT * FROM (SELECT * FROM ORDERS LIMIT 25, 25) ORDER BY id DESC
    

    【讨论】:

    • 如果我也使用desc 会起作用吗?
    • 查看更新后的答案。谢谢
    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多