Heim >Backend-Entwicklung >PHP-Tutorial >php分页原理实例解析

php分页原理实例解析

WBOY
WBOYOriginal
2016-07-25 08:52:45875Durchsuche
  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

  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;
复制代码


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