php+mysql分页查询代码与演示例子

WBOY
Lepaskan: 2016-07-25 08:52:17
asal
989 orang telah melayarinya
  1. //为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
  2. if(!function_exists(pages)){
  3. //定义函数pages(),三个参数的含义为:
  4. //$total:信息总数;
  5. //$displaypg:每页显示信息数,这里设置为默认是20;
  6. //$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。
  7. //默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
  8. function pages($total,$displaypg=20,$url=''){
  9. //定义几个全局变量:

  10. //$page:当前页码;
  11. //$firstcount:(数据库)查询的起始项;
  12. //$pagenav:页面导航条代码,函数内部并没有将它输出;
  13. //$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
  14. global $page,$firstcount,$pagenav,$_SERVER;
  15. //为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。

  16. $GLOBALS["displaypg"]=$displaypg;
  17. $page=$_GET['page'];
  18. if(!$page) $page=1;
  19. //如果$url使用默认,即空值,则赋值为本页URL:

  20. if(!$url){ $url=$_SERVER["REQUEST_URI"];}
  21. //URL分析:

  22. $parse_url=parse_url($url);
  23. $url_query=$parse_url["query"]; //单独取出URL的查询字串
  24. if($url_query){
  25. //因为URL中可能包含了页码信息,要把它去掉,以便加入新的页码信息。
  26. //正则表达式
  27. $url_query=ereg_replace("(^|&)page=$page","",$url_query);
  28. //将处理后的URL的查询字串替换原来的URL的查询字串:

  29. $url=str_replace($parse_url["query"],$url_query,$url);
  30. //在URL后加page查询信息,但待赋值:

  31. if($url_query) $url.="&page"; else $url.="page";
  32. }else {
  33. $url.="?page";
  34. }
  35. //页码计算:

  36. $lastpg=ceil($total/$displaypg); //最后页,也是总页数
  37. $page=min($lastpg,$page);
  38. $prepg=$page-1; //上一页
  39. $nextpg=($page==$lastpg ? 0 : $page+1); //下一页
  40. $firstcount=($page-1)*$displaypg;
  41. //开始分页导航条代码:

  42. $pagenav="显示第 ".($total?($firstcount+1):0)."-".min($firstcount+$displaypg,$total)." 条记录,共 $total 条记录
    ";
  43. //如果只有一页则跳出函数:

  44. if($lastpg
  45. $pagenav.=" 首页 ";

  46. if($prepg) $pagenav.=" 前页 "; else $pagenav.=" 前页 ";
  47. if($nextpg) $pagenav.=" 后页 "; else $pagenav.=" 后页 ";
  48. $pagenav.=" 尾页 ";
  49. //下拉跳转列表,循环列出所有页码:

  50. $pagenav.=" 到第 页,共 $lastpg 页";
  51. }
  52. }
  53. ?>
复制代码

2、mysql分页调用演示:

  1. $DatabaseServer="localhost";
  2. $UserName="root";
  3. $PassWord="";
  4. $DatabaseName="dede";
  5. $conn=mysql_connect($DatabaseServer,$UserName,$PassWord) or die("数据库连接出错"+mysql_error());

  6. mysql_select_db($DatabaseName,$conn);
  7. mysql_query("set names gbk");
  8. include("Pages.php"); //包含“pages.php”文件
  9. //取得总信息数

  10. $result=mysql_query("select * from dede_area");
  11. $total=mysql_num_rows($result);
  12. //调用pages(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。

  13. pages($total,10);
  14. //全局变量使用

  15. $result=mysql_query("select * from dede_area limit $firstcount,$displaypg ");
  16. while($row=mysql_fetch_array($result)){
  17. //(列表内容略)
  18. echo($row['eid']);
  19. echo ($row['name']);
  20. echo ("

    ");

  21. }
  22. //输出分页导航条

  23. echo $pagenav;
  24. //(后面程序略)
  25. ?>
复制代码

php+mysql分页效果,如图: php+mysql 分页效果

推荐阅读:

  • php与ajax无刷新分页代码
  • php 文章分页的实现代码
  • php limit 翻页(分页)代码
  • 带多种分页方式的php分页类
  • 上一页与下一页的php分页代码
  • 前十页、后十页方式的php分页代码
  • 简单的php分页代码的例子
  • 一个不错的php分页类的代码
  • 一个分页函数:上一页 下一页
  • 一个好用的php分页类
  • php长文章分页代码
  • 一个实用的php分页类
  • 快速php分页类


sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan