求php分页代码,请我最简单,最使用的,不要复制啊

解决方案 »

  1.   

    应该是想要这个东西吧
    //获取页码
    $page = $_GET['page'];
    if ($page){
    $page = 1;
    }
    //设置每页显示的数量
    $page_size = 5;
    // 获取总数据量
    $sql = "select count(*) from 表名";
    $resultt = mysql_query($sql);
    $row = mysql_fetch_array($resultt);
    $amount = $row['0']; 
    // 记算总共有多少条记录
    if( $amount ){
        if( $amount < $page_size ){ $page_count = 1; }  //如果总数据量小于$PageSize,那么只有一页
         if( $amount % $page_size and $amount > $page_size{                                  //取总数据量除以每页数的余数
       $page_count = (int)($amount / $page_size) + 1;           //如果有余数,则页数等于总数据量除以每页数的结果取整再加一
        }else{
       $page_count = $amount / $page_size;                     //如果没有余数,则页数等于总数据量除以每页数的结果
       }
    }
    else{
       $page_count = 0;
    }

    $numrows=($page - 1) * $page_size;
    //连接输出数据的地方就不写了吧
    $sql = "select * 表名 order by id desc limit $numrows,$page_size";
    ……………………省略…………
    //上一页下一页就是page + 1 -1这种了;根据$page计算的
    //总记录数$amount总页数$page_count偏移量$numrows
      

  2.   

    if ($page){
    $page = 1;
    }
    应该有问题吧!
      

  3.   


    是这个, 
    if(!$page){
     $page = 1;
    }
      

  4.   

    分页函数
    function genpage(&$sql,$page_size=2)
    {
          global $prepage,$nextpage,$pages,$sums; //out param
          $page = $_GET["page"];
          $eachpage = $page_size;
          $pagesql = strstr($sql," from ");
          $pagesql = "select count(*) as ids ".$pagesql;
          $conn = mysql_query($pagesql) or die(mysql_error());
          if($rs = mysql_fetch_array($conn)) $sums = $rs[0];
          $pages = ceil(($sums-0.5)/$eachpage)-1;
          $pages = $pages>=0?$pages:0;
          $prepage = ($page>0)?$page-1:0;
          $nextpage = ($page<$pages)?$page+1:$pages; 
          $startpos = $page*$eachpage;
        $sql .=" limit $startpos,$eachpage ";
    }function showpage()
    {
        global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function
        $shownum =10/2;
        $startpage = ($page>=$shownum)?$page-$shownum:0;
        $endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages;
       
        echo "共".($pages+1)."页: "; 
        if($page>0)echo "<a href=$PHP_SELF?page=0$queryString>首页</a>";
        if($startpage>0)
            echo " ... <b><a href=$PHP_SELF?page=".($page-$shownum*2)."$queryString>?</a></b>";
        for($i=$startpage;$i<=$endpage;$i++)
        {
            if($i==$page)    echo " <b>[".($i+1)."]</b> ";
            else        echo " <a href=$PHP_SELF?page=$i$queryString>".($i+1)."</a> ";
        }
        if($endpage<$pages)
            echo "<b><a href=$PHP_SELF?page=".($page+$shownum*2)."$queryString>?</a></b> ... ";
        if($page<$pages)
            echo "<a href=$PHP_SELF?page=$pages$queryString>尾页</a>";
    }
    //显示带分类的分页
    function showpage1()
    {
    $fenlei=$_GET["fenleiid"];
        global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function
        $shownum =10/2;
        $startpage = ($page>=$shownum)?$page-$shownum:0;
        $endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages;
       
        echo "共".($pages+1)."页: "; 
        if($page>0)echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=0$queryString>首页</a>";
        if($startpage>0)
            echo " ... <b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page-$shownum*2)."$queryString>?</a></b>";
        for($i=$startpage;$i<=$endpage;$i++)
        {
            if($i==$page)    echo " <b>[".($i+1)."]</b> ";
            else        echo " <a href=$PHP_SELF?fenleiid=$fenlei&page=$i$queryString>".($i+1)."</a> ";
        }
        if($endpage<$pages)
            echo "<b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page+$shownum*2)."$queryString>?</a></b> ... ";
        if($page<$pages)
            echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=$pages$queryString>尾页</a>";
    }
    ?>
      

  5.   


    /**
    * 分页处理
    *
    * @access   public
    * @param    $count          数据总数量
    * @param    $readperpage    每页数据量
    * @param    $key            当前页数字段
    * @return   array() page-当前页码  total-总页数  count-数据总数量  start-游标开始数  readperpage-每页/获取数据量 
    */
    function  page($count=0, $readperpage=15, $key='page')
    {
        // 当前页数  总页数  开始游标  需获取记录数
        $data = array('page'=>(int)$_REQUEST[$key], 'count'=>$count, 'total'=>1, 'start'=>0, 'readperpage'=>$readperpage);    // 计算总页数
        $data['total'] = ceil($count/$readperpage);    // 验证当前页数
        if ( $data['page'] < 1 )
            $data['page'] = 1;
        elseif ( $data['page'] > $data['total'] )
            $data['page'] = $data['total'];    // 计算游标
        if( $data['page'] > 1 )
            $data['start'] = ( $data['page'] - 1 ) * $readperpage;    unset($key, $count, $readperpage);
        return $data;
    }