好像网上这种代码不是很多,自己弄了一个,但是有个问题就是无法整体的按时间顺序显示,只能够每一页按时间顺序显示;虽然想到了一个方法:先全部取出到一个数组里,然后根据页面提交的page,从数组里截取显示;但还是想要一个比较成熟的分页程序,也可以是分页类,需要代码!

解决方案 »

  1.   

    ORACLE 高效分页语句$sqls =<<< SQL
    SELECT * FROM 
    (
    SELECT A.*, ROWNUM RN 
    FROM ($sql) A 
    WHERE ROWNUM < $start+$pagesize
    )
    WHERE RN >= $start
    SQL;
    $sql 你的查询语句
    $start 起始偏移
    $pagesize 页记录数
    等价于 mysql 的 limit $start,$pagesize
      

  2.   

    我的$cmdstr = "select *
    from
    (
        select temp.*, ROWNUM rn
        from (select * from student) temp
    )
    where rn between $startRow and $endRow order by sid asc";
    你确定跟MYSQL一样吗?MYSQL是从数据库里全部取出来然后再取一页,而ORACLE是直接从数据库里取一页,总体上分不了页的;
    看一下取出的SID吧:
    SID第一页
    2
    6
    7
    8
    9
    SID第二页
    1
    3
    4
    5
    10
    总之只能每一页排序,不能总体排序。
    9
      

  3.   

    本帖最后由 xuzuning 于 2012-04-21 11:44:46 编辑
      

  4.   

    不好意思,这是$sqls =<<< SQL