【问题标题】:how to select datas five by five in sql如何在sql中选择五乘五的数据
【发布时间】:2014-03-26 08:56:29
【问题描述】:

我想要一个类似论坛的页面。像页面底部一样,我有页码

1 2 3 .... 45 46 47 48

我想要每页 5 cmets。因此,当用户单击 3. 页面或选择 9. 页面时,我应该得到 cmets (11-15) 或 cmets (41-45)。我该怎么做。

SELECT * FROM mytable //five by five

注意我认为SQL命令应该有一个简单的方法。(比如ORDER BY something可以解决我的问题吗?)

但欢迎所有答案(PHP、Javascript)。

【问题讨论】:

    标签: javascript php mysql sql


    【解决方案1】:

    它的伪代码比真正的 SQL 查询要多得多:

    SELECT * FROM comment LIMIT (5*{$page-1}),5;
    

    【讨论】:

    • 是第一次给 LIMIT (5*{$page-1}) 的值描述从哪里开始?
    • 是的,(5*{$page-1}) 是从哪里开始(对于 page = 2,它是 5*1),第二个数字是返回多少条记录。
    【解决方案2】:

    可以使用 sql 限制子句。

    SELECT * FROM comment LIMIT 0,5
    

    第一个参数是你想从哪里开始,第二个参数是数字或结果。

    所以在你的情况下:

    SELECT * FROM comment LIMIT ((page_number-1)*5),5;
    

    您可以使用页面链接 (1 2 3 ....) 将页码作为参数传递。

    <a href="comment.php?page=5">5</a>
    

    然后在执行 sql 请求之前检索它。

    $start = ($_GET['page'] - 1)*5;
    $sql = "SELECT * FROM comment LIMIT $start,5";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多