页面上有N个复选框,比如。我现在选择了其中的13个。点提交。跳转到下个页面的时候。我希望可以将我所选的13条数据进行分页。每页十行。就是两页。
请问用sql应该怎么实现?

解决方案 »

  1.   


    select * from table_name where ...  order by ...   limit 0,10
      

  2.   

    mysql> select * from stock;
    +----+---------+-------+---------+
    | id | time_id | price | stockid |
    +----+---------+-------+---------+
    |  1 |       5 |    12 | 101     |
    |  2 |       6 |    10 | 101     |
    |  3 |       7 |     8 | 101     |
    |  4 |       8 |    13 | 101     |
    |  5 |       9 |    11 | 101     |
    |  6 |      10 |    11 | 101     |
    |  7 |      11 |    11 | 101     |
    |  8 |      12 |    16 | 101     |
    |  9 |      13 |    16 | 101     |
    | 10 |      14 |    15 | 101     |
    | 11 |      15 |    15 | 101     |
    | 12 |      16 |    14 | 101     |
    | 13 |      17 |    11 | 101     |
    | 14 |      18 |    10 | 101     |
    | 15 |      19 |    10 | 101     |
    | 16 |      20 |    10 | 101     |
    | 17 |      21 |    10 | 101     |
    | 18 |      22 |    12 | 101     |
    | 19 |      23 |  NULL | 101     |
    | 20 |      24 |    10 | 101     |
    +----+---------+-------+---------+
    20 rows in set (0.00 sec)mysql> set @page=1;
    Query OK, 0 rows affected (0.00 sec)
    mysql> select * from stock where id  between @page*10-9 and @page*10;
    +----+---------+-------+---------+
    | id | time_id | price | stockid |
    +----+---------+-------+---------+
    |  1 |       5 |    12 | 101     |
    |  2 |       6 |    10 | 101     |
    |  3 |       7 |     8 | 101     |
    |  4 |       8 |    13 | 101     |
    |  5 |       9 |    11 | 101     |
    |  6 |      10 |    11 | 101     |
    |  7 |      11 |    11 | 101     |
    |  8 |      12 |    16 | 101     |
    |  9 |      13 |    16 | 101     |
    | 10 |      14 |    15 | 101     |
    +----+---------+-------+---------+
    10 rows in set (0.00 sec)@page 就是你要显示的页码 作为一个参数
      

  3.   

    前提是你要有一列自增id主键上面的结果是根据id计数的
      

  4.   

    如果没有唯一id 或者id不连续可以用limit arg1,arg2表示从去结果集的第arg1个记录开始 取arg2条记录
      

  5.   

    我在重新叙述一下。我选中了N个checkbox。将选中的checkbox放在一个数组中。里面存放的是ID。现在我根据数组的长度依次循环从数据库里获取到一个结果集,比如这个结果集有20行数据。我应该怎么让他能在页面上分两页显示
      

  6.   

    我选中了N个checkbox。
    将选中的checkbox放在一个数组中。里面存放的是ID。根据这个checkbox 生成字符串 "id1,id2,id3"
    现在我根据数组的长度依次循环从数据库里获取到一个结果集,
    比如这个结果集有20行数据。我应该怎么让他能在页面上分两页显示select * from yourTable where id in (id1,id2,id3) order by fldOrder limit 1,10