Heim >Backend-Entwicklung >PHP-Tutorial >PHP+MYSQL翻页符

PHP+MYSQL翻页符

WBOY
WBOYOriginal
2016-07-25 09:11:121293Durchsuche
在这个程序中,新类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. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:一个构造sql语句的类 Nächster Artikel:简单的 MySQL 搜索函数