zoukankan      html  css  js  c++  java
  • PHP简单分页代码

     //SQL语句必须小写

    function genpage(&$sql,$page_size=2)
    {
    global $prepage,$nextpage,$pages,$sums,$page;  //out param
    $page = $_GET["page"];
    if($page < 0 ) $page=0;
      $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><font font-size='12px'>首页</font></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 " <font font-size='12px'><b>[".($i+1)."]</b></font> ";
    else
    echo " <a href=$PHP_SELF?page=$i$queryString><font font-size='12px'>[".($i+1)."]</font></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><font font-size='12px'>尾页</font></a>";
    }
    在页面上你调用SQL的地方写 genpage( $sql , 20);20是页面显示条数
    在要显示上一页下一页的地方写<?php showpage();?>

  • 相关阅读:
    全栈必备Linux 基础
    Linux 的 Socket IO 模型
    Vim
    Linux 下使用 Sar 简介
    提高效率,推荐 5 款命令行工具
    Vim小技巧
    剑指Offer 矩形覆盖
    剑指Offer 变态跳台阶
    剑指Offer 跳台阶
    2016 网易校招内推C/C++第二场8.6
  • 原文地址:https://www.cnblogs.com/booth/p/2178852.html
Copyright © 2011-2022 走看看