[PHP] PHP+MYSQL翻页符 →→→→→进入此内容的聊天室

来自 , 2021-03-25, 写在 PHP, 查看 139 次.
URL http://www.code666.cn/view/f0eaf559
  1. <?php
  2. /*
  3. 在这个分页的类中共有三个类函数,第一个函数的作用上面说过,第二个函数caculate主要是计算记录集的总条数,分多少页显示,同时把这些结果赋值给成员变量,以供下一个函数使用这些值。第三个函数,url就是实现记录集分页显示的代码。这里说一下,分页的算法,主要是用到这一个SQL语句:select * from table_name limit $start,$pageper;其中,$start是查询的起始位置,$pageper是每一页要显示的条数。
  4. */
  5.  
  6. include_once("db.inc.php");
  7.  
  8. class FENYE  extends DBSQL{
  9.  
  10.         public $count_1;                               //返回结果记录集的总条数
  11.  
  12.         private $pageper=3;                           //每页显示的记录集条数
  13.  
  14.         public $pc;                                      //显示的总页数
  15.  
  16.         private $sql="select * from students";
  17.  
  18.          public $offset;                                        //当前的页码数
  19.  
  20.      public function __constract(){
  21.  
  22.         parent::__constract();    //调用父类里的方法链接数据库
  23.  
  24.      }
  25.  
  26.      public function caculate($sql=""){
  27.  
  28.        $sql=$this->sql;
  29.  
  30.        $result=mysql_query($sql) or die (mysql_error());
  31.  
  32.        $count=mysql_num_rows($result);
  33.  
  34.        $this->count_1=$count;
  35.  
  36.        $pc=intval($count/$this->pageper)+1;
  37.  
  38.        $this->pc=$pc;
  39.  
  40.      }
  41.  
  42.      public function url($targetUrl){
  43.  
  44.          $pagesize=$this->pageper ; //每页显示记录
  45.  
  46.          $page=isset($_GET['page'])?intval($_GET['page']):1;//获取当前页
  47.  
  48.          $sql="select * from students limit ".($page-1)*$pagesize.",$pagesize";
  49.  
  50.          //echo $sql ;exit;
  51.  
  52.          $results=mysql_query($sql) or die (mysql_error());
  53.  
  54.          while ($row = mysql_fetch_array($results)){
  55.  
  56.         for($i=0;$i<count($row);$i++)
  57.  
  58.         echo $row[$i]."&nbsp;&nbsp;&nbsp;&nbsp;";
  59.  
  60.         echo "<br>";
  61.  
  62.      }
  63.  
  64.        $offset=($page-1)*$pagesize;
  65.  
  66.        $prepage=$page-1; //上一页
  67.  
  68.        $nextpage=$page+1; //下一页
  69.  
  70.        $pagenav="共".$this->count_1." 条记录每页显示$pagesize 条记录,共".$this->pc." 页,当前第$page 页";
  71.  
  72.        if($page==1){
  73.  
  74.        $strpage="【第一页】【上一页】<a href='$targetUrl?page=$nextpage'>【下一页】</a><a href='$targetUrl?page=$pc'>【最后一页】</a>";
  75.  
  76.     }
  77.  
  78.       if($page>1&&$page<=$this->pc){
  79.  
  80.       $strpage="<a href='$targetUrl?page=1'>【第一页】</a><a href='$targetUrl?page=$prepage'>【上一页】</a><a href='$targetUrl?page=$nextpage'>【下一页】</a><a href='$targetUrl?page=$pc'>【最后一页】</a>";
  81.  
  82.     }
  83.  
  84.      if($page==$this->pc){
  85.  
  86.      $strpage="<a href='$targetUrl?page=1'>【第一页】</a><a href='$targetUrl?page=$prepage'>【上一页】</a>【下一页】【最后一页】";
  87.  
  88. }
  89.  
  90.      $strpage="$pagenav<br>$strpage";
  91.  
  92.     echo $strpage;
  93.  
  94.      }
  95.  
  96. }
  97.  
  98.  
  99. /*
  100. 小函数注解:
  101.  
  102.                   intval:   取得整数值;
  103.  
  104.                   count:  计算一个数组的元素个数;
  105.  
  106.                   expression_1?expression_2:expression_3;:如果第一个表达式为值,该函数的返回值就是第二个表达式的值,否则函数的返回值为第三个表达式的值。
  107.  
  108.                   为了程序的代码的安全起见,可是把类的成员变量的类型设置为private。*/
  109. ?>

回复 "PHP+MYSQL翻页符"

这儿你可以回复上面这条便签

captcha