加入收藏 | 设为首页 | 会员中心 | 我要投稿 伊春站长网 (https://www.0458zz.com/)- 管理运维、图像技术、数据标注、智能营销、数据计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php分页实例程序函数

发布时间:2022-07-22 09:18:48 所属栏目:PHP教程 来源:互联网
导读:在php中分页是我们开发中必须要用到的东西,但在觉得在php分页比在asp中方便了很多,下面我来给各位同学详细介绍人几个不错的php分页类吧,这是我自己写的一个php分页实例,代码如下: html head title简单的PHP分页程序/title /head body ?php //建立连接数据库
  在php中分页是我们开发中必须要用到的东西,但在觉得在php分页比在asp中方便了很多,下面我来给各位同学详细介绍人几个不错的php分页类吧,这是我自己写的一个php分页实例,代码如下:
 
  <html>
  <head>
      <title>简单的PHP分页程序</title>
  </head>
  <body>
  <?php
      //建立连接数据库
      $linkID=@mysql_connect("phpfensi.com","root","") or die("you could notconnect mysql");
      //连接的数据库名称
      @mysql_select_db("ceshi") or die("could not select database!");
      //取得记录总数
   
      $query="SELECT count(*) FROM user";
      $rs = mysql_query($query);
      $myrows=mysql_fetch_array($rs);
      $numrows=$myrows[0];
      //设定每一页显示的记录数
      $pagesize = 1;
      //计算总页数
      $pages=intval($numrows/$pagesize);
      if($numrows%$pagesize)
      $pages++;
      //设置页数
      if(isset($_POST['page']))
         $page=intval($_POST['page']);
      else{
           $page = 1; //没有页数则显示第一页;
          }
      //计算记录偏移量
      $offset = ($page-1)*$pagesize;
      //读取指定的记录数
      $query1="select * from user limit $offset,$pagesize";
      $rs = mysql_query($query1);
      if($myrows=mysql_fetch_array($rs))
      {
         $i = 0;    
  ?>
  <table width="80%" border="1">
      <tr>
          <td width="50%">用户名</td>
          <td width="50%">密码</td>
      </tr>
      <?php
          do{
              $i++;
      ?>
      <tr>
          <td width="50%"><?php echo $myrows["username"] ?></td>
          <td width="50%"><?php echo $myrows["password"] ?></td>
      </tr>
      <?php
          }
          while($myrows=mysql_fetch_array($rs));
          echo "</table>";
      }   
          $first = 1;
          $prev =$page-1;
          $next = $page+1;
          $last=$pages;
          if($page>1)
          {
              echo "<a href='fenye.php?page=".$first."'>首页</a>";
              echo "<a href='fenye.php?page=".$prev."'>上一页</a>";
          }
          if($page<$pages)
          {
              echo "<a href='fenye.php?page=".$next."'>下一页</a>";
              echo "<a href='fenye.php?page=".$last."'>最后一页</a>";
          }
          echo "<div align = 'center'>共有" .$pages. "页(" .$page. "/" .$pages.")";
          for($i=1; $i<$page; $i++)
              echo "<a href='fenye.php?page=".$i."'>[".$i."]</a>";
          echo "[" .$page. "]";
          for($i=$page+1; $i<=$pages;$i++)
              echo "<a href='fenye.php?page=".$i."'>[".$i."]</a>";
          echo"</div>";
      ?>        
  </body>
  </html>
  上面代码不能重复使用,后来整理了一个类,CSS代码如下:
 
  #pages{display:block; text-align:center; overflow:hidden; color:#000; font-size:13px}
  #pages a{color:#333; text-decoration:none; font-family:Verdana,Geneva,sans-serif; padding:2px 3px; display:block}
  #pages li{float:left; display:inline-block; border:1px solid #999; margin-right:3px; margin-left:3px}
  #pages #spages{background:#CCC; font-weight:bold; color:#36C}
  PHP分页函数类源码如下:
 
  <?php
  /*
  * 分页模块
  */
   
  interface Page{
  public function showpage();
  }
   
  class AdminPage implements Page{
  /*
  * 构造参数  
  * SQL语句,每页显示数,url
  */
  private $sql;
  private $pageline; //每页显示多少行数据
  private $urlstr;
  private $nowpage;
  private $totalNum;
  private $pageNum;
  private $pageStr;// 形成分页字符串
   
  public function __construct($sql,$p){
  $this->sql = $sql;
  $this->pageline = $p;
  $this->urlstr = $_SERVER['SCRIPT_NAME'];
  if(emptyempty($_GET['p'])){
  $this->nowpage = 1; //初始化当前页数为1
  }else if(is_numeric($_GET['p'])){
  $this->nowpage = $_GET['p'];
  }else{
  $e = new Error(6);
  $e->show();
  }
   
  $s = new Sql();
  $this->totalNum = $s->results_exist_num($this->sql);
  $this->pageNum = ceil($this->totalNum/$this->pageline);
   
  }
  /*
  * 形式为:
  * 首页| 上一页| 1 | 2 | 3 | 4 | 5 |下一页 | 末页  
  *
  *
  */
   

(编辑:伊春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读