Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP+MYSQL翻页符

PHP+MYSQL翻页符

WBOY
WBOYasal
2016-07-25 09:11:121261semak imbas
在这个程序中,新类FENYE继承了类DBSQL,所以在新类的析构函数中,调用了父类的析构函数来链接数据库,同时包含了全局变量定义的文件config.inc.php。
  1. /*
  2. 在这个分页的类中共有三个类函数,第一个函数的作用上面说过,第二个函数caculate主要是计算记录集的总条数,分多少页显示,同时把这些结果赋值给成员变量,以供下一个函数使用这些值。第三个函数,url就是实现记录集分页显示的代码。这里说一下,分页的算法,主要是用到这一个SQL语句:select * from table_name limit $start,$pageper;其中,$start是查询的起始位置,$pageper是每一页要显示的条数。
  3. */
  4. include_once("db.inc.php");
  5. class FENYE extends DBSQL{
  6. public $count_1; //返回结果记录集的总条数
  7. private $pageper=3; //每页显示的记录集条数
  8. public $pc; //显示的总页数
  9. private $sql="select * from students";
  10. public $offset; //当前的页码数
  11. public function __constract(){
  12. parent::__constract(); //调用父类里的方法链接数据库
  13. }
  14. public function caculate($sql=""){
  15. $sql=$this->sql;
  16. $result=mysql_query($sql) or die (mysql_error());
  17. $count=mysql_num_rows($result);
  18. $this->count_1=$count;
  19. $pc=intval($count/$this->pageper)+1;
  20. $this->pc=$pc;
  21. }
  22. public function url($targetUrl){
  23. $pagesize=$this->pageper ; //每页显示记录
  24. $page=isset($_GET['page'])?intval($_GET['page']):1;//获取当前页
  25. $sql="select * from students limit ".($page-1)*$pagesize.",$pagesize";
  26. //echo $sql ;exit;
  27. $results=mysql_query($sql) or die (mysql_error());
  28. while ($row = mysql_fetch_array($results)){
  29. for($i=0;$i
  30. echo $row[$i]."    ";
  31. echo "
    ";
  32. }
  33. $offset=($page-1)*$pagesize;
  34. $prepage=$page-1; //上一页
  35. $nextpage=$page+1; //下一页
  36. $pagenav="共".$this->count_1." 条记录每页显示$pagesize 条记录,共".$this->pc." 页,当前第$page 页";
  37. if($page==1){
  38. $strpage="【第一页】【上一页】【下一页】【最后一页】";
  39. }
  40. if($page>1&&$pagepc){
  41. $strpage="【第一页】【上一页】【下一页】【最后一页】";
  42. }
  43. if($page==$this->pc){
  44. $strpage="【第一页】【上一页】【下一页】【最后一页】";
  45. }
  46. $strpage="$pagenav
    $strpage";
  47. echo $strpage;
  48. }
  49. }
  50. /*
  51. 小函数注解:
  52. intval: 取得整数值;
  53. count: 计算一个数组的元素个数;
  54. expression_1?expression_2:expression_3;:如果第一个表达式为值,该函数的返回值就是第二个表达式的值,否则函数的返回值为第三个表达式的值。
  55. 为了程序的代码的安全起见,可是把类的成员变量的类型设置为private。*/
  56. ?>
复制代码


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:一个构造sql语句的类 Artikel seterusnya:简单的 MySQL 搜索函数