资讯专栏INFORMATION COLUMN

jQuery+Ajax+PHP无刷新分页

mengbo / 1346人阅读

摘要:下载演示地址本文使用,通过实例讲解如何实现无刷新分页效果。当数据完全加载完毕后,调用函数生成分页,也可用程序来实现分页。页面可在分页的属性中获取。

下载演示地址:http://www.erdangjiade.com/js...
本文使用jQuery+Ajax+PHP+Mysql,通过实例讲解如何实现Ajax无刷新分页效果。

</>复制代码

  1. #ul_lists以列表的形式展现数据,信息包括商品图片和标题
  2. CSS.lists{width:740px; margin:30px auto 0; position:relative}
  3. #ul_lists li{float:left;width:220px;height:240px;margin:0 6px 6px;border:1px solid #ffffd;padding:5px;overflow:hidden}
  4. #ul_lists li img{width:220px; height:220px;margin:0 0 6px}
  5. .page{ margin:12px 0 20px; text-align:center}
  6. .page span{margin:5px; font-size:14px}jQuery首先声明全局变量,后面分页用到。
  7. var page_cur = 1; //当前页
  8. var total_num, page_size, page_total_num;//总记录数,每页条数,总页数接着通过函数getData() 获取当前页数据。我们利用$.ajax GET方式把参数page以json格式传到ajax.php。
  9. function getData(page) { //获取当前页数据
  10. $.ajax({
  11. type: "GET",
  12. url: "ajax.php",
  13. data: {
  14. "page": page - 1
  15. },
  16. dataType: "json",
  17. success: function(json) {
  18. $("#ul_lists").empty();
  19. total_num = json.total_num; //总记录数
  20. page_size = json.page_size; //每页数量
  21. page_cur = page; //当前页
  22. page_total_num = json.page_total_num; //总页数
  23. var li = "";
  24. var list = json.list;
  25. $.each(list,
  26. function(index, array) { //遍历返回json
  27. li += "
  28. " + array["title"] + "
  29. ";
  30. });
  31. $("#ul_lists").append(li);
  32. },
  33. complete: function() {
  34. getPageBar(); //js生成分页,可用程序代替
  35. },
  36. error: function() {
  37. alert("数据异常,请检查是否json格式");
  38. }
  39. });
  40. }每次请求返回的商品放置在#ul_lists中。当数据完全加载完毕后,调用函数getPageBar()生成分页,也可用程序来实现分页。
  41. function getPageBar() { //js生成分页
  42. if (page_cur > page_total_num) page_cur = page_total_num; //当前页大于最大页数
  43. if (page_cur < 1) page_cur = 1; //当前页小于1
  44. page_str = "" + total_num + "" + page_cur + "/" + page_total_num + "";
  45. if (page_cur == 1) { //若是第一页
  46. page_str += "首页上一页";
  47. } else {
  48. page_str += "首页上一页";
  49. }
  50. if (page_cur >= page_total_num) { //若是最后页
  51. page_str += "下一页尾页";
  52. } else {
  53. page_str += "下一页尾页";
  54. }
  55. $("#page").html(page_str);
  56. }最后,当页面第一次加载时,我们加载第一页数据即getData(1),当点击分页条中的分页链接时,通过getData(page)加载对应页码的数据。页面page可在分页的属性data-page中获取。
  57. $("#page a").live("click",function() { //live 向未来的元素添加事件处理器,不可用bind
  58. var page = $(this).attr("data-page"); //获取当前页
  59. getData(page)
  60. });PHPajax.php接收每次前端页面的ajax请求,根据提交的页码page,计算总记录数和总页数,读取对应页码下的数据列表,并将结果以JSON格式返回给前端页面。
  61. include_once("connect.php");
  62. $page = intval($_GET["page"]); //当前页
  63. $total_num = mysql_num_rows(mysql_query("select id from goods")); //总记录数
  64. $page_size = 6; //每页数量
  65. $page_total = ceil($total_num / $page_size); //总页数
  66. $page_start = $page * $page_size;
  67. $arr = array("total_num" = >$total_num, "page_size" = >$page_size, "page_total_num" = >$page_total, );
  68. $query = mysql_query("SELECT id,title,pic FROM goods ORDER BY ID ASC LIMIT $page_start,$page_size");
  69. while ($row = mysql_fetch_array($query)) {
  70. $arr["list"][] = array("id" = >$row["id"], "title" = >$row["title"], "pic" = >$row["pic"], );
  71. }
  72. echo json_encode($arr);最后附上goods表结构,下载压缩包里也有哦~。
  73. CREATE TABLE IF NOT EXISTS `goods` (
  74. `id` int(8) NOT NULL AUTO_INCREMENT,
  75. `title` varchar(80) NOT NULL,
  76. `pic` varchar(255) NOT NULL,
  77. PRIMARY KEY (`id`)
  78. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  79. [1]: http://www.erdangjiade.com/js/2.html
  80. [2]: /img/bVKyOj

下载演示地址:http://www.erdangjiade.com/js...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/50566.html

相关文章

  • jQuery+Ajax+PHP刷新分页

    摘要:下载演示地址本文使用,通过实例讲解如何实现无刷新分页效果。当数据完全加载完毕后,调用函数生成分页,也可用程序来实现分页。页面可在分页的属性中获取。 下载演示地址:http://www.erdangjiade.com/js...本文使用jQuery+Ajax+PHP+Mysql,通过实例讲解如何实现Ajax无刷新分页效果。 #ul_lists以列表的形式展现数据,信...

    wangzy2019 评论0 收藏0
  • jQuery+Ajax+PHP刷新分页

    摘要:下载演示地址本文使用,通过实例讲解如何实现无刷新分页效果。当数据完全加载完毕后,调用函数生成分页,也可用程序来实现分页。页面可在分页的属性中获取。 下载演示地址:http://www.erdangjiade.com/js...本文使用jQuery+Ajax+PHP+Mysql,通过实例讲解如何实现Ajax无刷新分页效果。 #ul_lists以列表的形式展现数据,信...

    Kosmos 评论0 收藏0
  • jQuery+Ajax+PHP刷新分页

    摘要:下载演示地址本文使用,通过实例讲解如何实现无刷新分页效果。当数据完全加载完毕后,调用函数生成分页,也可用程序来实现分页。页面可在分页的属性中获取。 下载演示地址:http://www.erdangjiade.com/js...本文使用jQuery+Ajax+PHP+Mysql,通过实例讲解如何实现Ajax无刷新分页效果。 #ul_lists以列表的形式展现数据,信...

    lauren_liuling 评论0 收藏0
  • 一步步实现thinkphp上的ajax刷新分页

    摘要:信息列表循环赋值分页信息部分这一步是实现无刷新分页的重点,用到了的通信,通过与数据库的交互,将获取到的数据写到模板中,替换掉之前的数据集,达到分页的目的。 前言 thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻页只刷新我们想要的数据集部分的数据,这样我们很容易想到ajax异步通信,用ajax与数据库(本人在开发过程中使用...

    张迁 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<