Building A Dynamic MySQL Paging Class With PHP
http://www.devarticles.com/printpage.php?articleId=110Object Oriented PHP: Paging Result Sets
http://www.webmasterbase.com/article/662

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/970/970397.xml?temp=.8506586
    看看这个帖子,研究一下阿,会对你有帮助的
      

  2.   

    select * from table LIMIT 0,30 where key=value 
    关键是LIMIT
      

  3.   

    用limit $开始条数, $多少条
      

  4.   

    从逻辑角度可以是
    select top ".$page_nums." * from t1 where field_id not in (select top ".$pre_num." field_id from t1)  order by school_code
    如果是查每页20个的第3页那么
    $page_nums=20
    $pre_num=40
    其逻辑含义就是查询不在前40位的前20位。
    也就是41-60这20条记录,也就是第3页
    不过mysql里面有limit就不用了,但是在其他的数据库就很有必要了
      

  5.   

    楼上的大哥,你错了把
    limit在数据库里都有这个命令
    只要是用sql数据库语言的数据库 如:mssql
    嘿嘿......
      

  6.   

    哪个版本的sqlserver有啊。
    查了联机帮助,没有查到
      

  7.   

    <?php
    include("../../../includes/config.php");
    webapp_select_db("jdxisx");                         //打开系统数据库
    if ($mode_type==""&&$mode_type==null)
    {
            $sqlcommand = "select count(*) as Total from crm_server";
            $result_read = webapp_query($sqlcommand);           //执行SQL指令
            $row_read = mysql_fetch_array($result_read);
            $nTotalCounter = $row_read[Total];
            $PageSize=15;
            if ($nTotalCounter % $PageSize == 0)
                        $nTotalPage = $nTotalCounter / $PageSize;
            else
                    $nTotalPage = floor($nTotalCounter / $PageSize) + 1;
            if (($Current=="")||($nCurrent==NULL))
            {
                    $Current=0;
            }
            if (($nCurPage=="")||($nCurPage==NULL))
            {
                    $nCurPage=0;
            }
            if ($nCurPage<1)
            {
                    $nCurPage=0;
            }
            if ($nCurPage>=$nTotalPage)
            {
                    $nCurPage=$nTotalPage;
            }
            $Current=$nCurPage*$PageSize;                  //计算从那条记录开始显示。
            $sqlcommand="";                                //清空SQL指令变量以免出错。(可能多余^_^)
            if (($nTotalCounter-$Current)<$PageSize)
            {
                    $rowsnum=$nTotalCounter-$Current;
            }
            else
            {
                    $rowsnum=$PageSize;
            }
            if ($sorttype=="")
            {
                    $sorttype="server_code";
            }
            if ($type!="")
            {
                    $sqlcommand="select server_code,server_name,server_level,server_brief,server_linkman,server_state,server_grade from crm_server where $type like '%$input%' order by $sorttype limit $Current,$rowsnum ";
            }
            else
            {
                    $sqlcommand = "select server_code,server_name,server_level,server_brief,server_linkman,server_state,server_grade from crm_server order by $sorttype limit $Current,$rowsnum ";
            }
            $result_read = webapp_query($sqlcommand);
            for ($i=0;$i<mysql_num_rows($result_read);$i++)
            {
                    $ShowData=$ShowData."\n\x0d\x0a"."<rowcontent ID='".mysql_result($result_read,$i,"server_code")."' 编号='".mysql_result($result_read,$i,"server_code")."' 客户名称='".mysql_result($result_read,$i,"server_name")."' 服务优先级='".mysql_result($result_read,$i,"server_level")."' 请求摘要='".mysql_result($result_read,$i,"server_brief")."' 联系人='".mysql_result($result_read,$i,"server_linkman")."' 服务状态='".mysql_result($result_read,$i,"server_state")."' 请求等级='".mysql_result($result_read,$i,"server_grade")."'/>";
            }
            @header("Cache-Control: no-cache, must-revalidate");
            echo "<?xml version='1.0' encoding='gb2312' ?>";
            echo "<client PageTotalCounter='".mysql_num_rows($result_read)."' TotalCounter='".$nTotalCounter."' TotalPage='".$nTotalPage."' CurPage='".$nCurPage."'>";
            echo $ShowData;
            echo "</client>";
    }
    if ($mode_type=="ddgl")
    {
            $sqlcommand = "select count(*) as Total from crm_ofg";
            $result_read = webapp_query($sqlcommand);           //执行SQL指令
            $row_read = mysql_fetch_array($result_read);
            $nTotalCounter = $row_read[Total];
            $PageSize=15;
            if ($nTotalCounter % $PageSize == 0)
                        $nTotalPage = $nTotalCounter / $PageSize;
            else
                    $nTotalPage = floor($nTotalCounter / $PageSize) + 1;
            if (($Current=="")||($nCurrent==NULL))
            {
                    $Current=0;
            }
            if (($nCurPage=="")||($nCurPage==NULL))
            {
                    $nCurPage=0;
            }
            if ($nCurPage<1)
            {
                    $nCurPage=0;
            }
            if ($nCurPage>=$nTotalPage)
            {
                    $nCurPage=$nTotalPage;
            }
            $Current=$nCurPage*$PageSize;                  //计算从那条记录开始显示。
            $sqlcommand="";                                //清空SQL指令变量以免出错。(可能多余^_^)
            if (($nTotalCounter-$Current)<$PageSize)
            {
                    $rowsnum=$nTotalCounter-$Current;
            }
            else
            {
                    $rowsnum=$PageSize;
            }
            if ($sorttype=="")
            {
                    $sorttype="ofg_code";
            }
            if ($type!="")
            {
                    $sqlcommand="select ofg_code,ofg_name,ofg_type,ofg_clinet,ofg_soure from crm_ofg where $type like '%$input%' order by $sorttype limit $Current,$rowsnum ";
            }
            else
            {
                    $sqlcommand = "select ofg_code,ofg_name,ofg_type,ofg_clinet,ofg_soure from crm_ofg order by $sorttype limit $Current,$rowsnum ";
            }
            $result_read = webapp_query($sqlcommand);
            for ($i=0;$i<mysql_num_rows($result_read);$i++)
            {
                    $ShowData=$ShowData."\n\x0d\x0a"."<rowcontent ID='".mysql_result($result_read,$i,"ofg_code")."' ofg_code='".mysql_result($result_read,$i,"ofg_code")."' ofg_name='".mysql_result($result_read,$i,"ofg_name")."' ofg_type='".mysql_result($result_read,$i,"ofg_type")."' ofg_clinet='".mysql_result($result_read,$i,"ofg_clinet")."' ofg_soure='".mysql_result($result_read,$i,"ofg_soure")."'/>";
            }
            @header("Cache-Control: no-cache, must-revalidate");
            echo "<?xml version='1.0' encoding='gb2312' ?>";
            echo "<client PageTotalCounter='".mysql_num_rows($result_read)."' TotalCounter='".$nTotalCounter."' TotalPage='".$nTotalPage."' CurPage='".$nCurPage."'>";
            echo $ShowData;
            echo "</client>";
    }
      

  8.   

    上面各位说得没错不过MySQL里面LIMIT和ORDER好像不能同时使用(也可能是我用的版本太低)好像这个用的应该比较多阿,各位怎么把最后添加的记录最先现实?我通常用的办法是全部读取,然后ECHO的时候控制觉得这样麻烦,并且很费资源还想出用ID小于记录数减去每页记录的办法要是自动ID被删除一个就难说了现在征集最佳方案,面向MySQL数据库的~