> 백엔드 개발 > PHP 튜토리얼 > PHP 페이징 원리 예제 분석

PHP 페이징 원리 예제 분석

WBOY
풀어 주다: 2016-07-25 08:52:45
원래의
874명이 탐색했습니다.
  1. /*

  2. author:默默
  3. date :2006-12-03
  4. */
  5. $page=isset($_get['page'])?intval($_get['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
  6. $num=10; //每页显示10条数据
  7. $db=mysql_connect("host","name","pass"); //创建数据库连接
  8. $select=mysql_select_db("db",$db); //选择要操作的数据库
  9. /*
  10. 首先,要获取数据库中到底有多少数据,才能判断具体要分多少页,总页数 具体的公式就是
  11. 总数据数 除以 每页显示的条数,有余进一 。
  12. 也就是说10/3=3.3333=4 有余数就要进一。
  13. */
  14. $total=mysql_num_rows(mysql_query("select * from table")); //查询数据的总数total
  15. $pagenum=ceil($total/$num); //获得总页数 pagenum
  16. //假如传入的页数参数apge 大于总页数 pagenum,则显示错误信息
  17. if($page>$pagenum || $page == 0){
  18. echo "error : can not found the page .";
  19. exit;
  20. }
  21. $offset=($page-1)*$num; //获取limit的第一个参数的值 offset ,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
  22. //(传入的页数-1) * 每页的数据 得到limit第一个参数的值
  23. $info=mysql_query("select * from table limit $offset,$num "); //获取相应页数所需要显示的数据
  24. while($it=mysql_fetch_array($info)){
  25. echo $it['name']."
    ";
  26. } //显示数据

  27. for($i=1;$i<=$pagenum;$i ){

  28. $show=($i!=$page)?"$i":"$i";

  29. echo $show." ";
  30. }
  31. /*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
  32. 1 2 3 4 5 6
  33. */
  34. ?>

复制代码

总结: 原型: select * from table limit 0,10

程序:

  1. select * from user order by id desc limit 0,10;
复制代码


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿