Heim  >  Artikel  >  Backend-Entwicklung  >  PHP实现数据分页的通用方法

PHP实现数据分页的通用方法

WBOY
WBOYOriginal
2016-07-25 08:45:27960Durchsuche
  1. function show_page($count,$page,$page_size)
  2. {
  3. $page_count = ceil($count/$page_size); //计算得出总页数
  4. $init=1;
  5. $page_len=7;
  6. $max_p=$page_count;
  7. $pages=$page_count;
  8. //判断当前页码
  9. $page=(empty($page)||$page //获取当前页url
  10. $url = $_SERVER['REQUEST_URI'];
  11. //去掉url中原先的page参数以便加入新的page参数
  12. $parsedurl=parse_url($url);
  13. $url_query = isset($parsedurl['query']) ? $parsedurl['query']:'';
  14. if($url_query != ''){
  15. $url_query = preg_replace("/(^|&)page=$page/",'',$url_query);
  16. $url = str_replace($parsedurl['query'],$url_query,$url);
  17. if($url_query != ''){
  18. $url .= '&';
  19. }
  20. } else {
  21. $url .= '?';
  22. }
  23. //分页功能代码
  24. $page_len = ($page_len%2)?$page_len:$page_len+1; //页码个数
  25. $pageoffset = ($page_len-1)/2; //页码个数左右偏移量
  26. $navs='';
  27. if($pages != 0){
  28. if($page!=1){
  29. $navs.="首页 "; //第一页
  30. $navs.="上页"; //上一页
  31. } else {
  32. $navs .= "首页";
  33. $navs .= "上页";
  34. }
  35. if($pages>$page_len)
  36. {
  37. //如果当前页小于等于左偏移
  38. if($page $init=1;
  39. $max_p = $page_len;
  40. }
  41. else //如果当前页大于左偏移
  42. {
  43. //如果当前页码右偏移超出最大分页数
  44. if($page+$pageoffset>=$pages+1){
  45. $init = $pages-$page_len+1;
  46. }
  47. else
  48. {
  49. //左右偏移都存在时的计算
  50. $init = $page-$pageoffset;
  51. $max_p = $page+$pageoffset;
  52. }
  53. }
  54. }
  55. for($i=$init;$i {
  56. if($i==$page){$navs.="".$i.'';}
  57. else {$navs.=" ".$i."";}
  58. }
  59. if($page!=$pages)
  60. {
  61. $navs.=" 下页 ";//下一页
  62. $navs.="末页"; //最后一页
  63. } else {
  64. $navs .= "下页";
  65. $navs .= "末页";
  66. }
  67. echo "$navs";
  68. }
  69. }
复制代码

分页, PHP


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:php生成随机颜色 Nächster Artikel:PHP实现下载图片的通用方法