找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 566|回复: 0
打印 上一主题 下一主题

PHP+JQuery+Ajax实现分页方法详解

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-14 05:33:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了PHP+JQuery+Ajax实现分页的方法。分享给大家供大家参考,具体如下:
为了锻炼下jQuery,决定自己动手写写分页
最终的效果如图:
点击某个字母后,下方显示以该字母为首字母的所有词语;
分页显示,每页显示15个词语,每组页码有20个,1-20/20-40~~~

首先是在PHP文件中的分页Pager的相关代码
public function searchWordsByInitial()
    //从AJAX发出的URL中获得参数:用户点击的字母和点击的页码
    $initial = htmlentities($_POST['initial'], ENT_QUOTES,"UTF-8");
    $page = htmlentities($_POST['page'], ENT_QUOTES,"UTF-8");
    $words = $this->_createWordObj();
    $i=0;//用于显示序号从1开始
    $perPageNum=12;//每一页显示的条数为12条
    $currentPageFirst=($page-1)*$perPageNum+1;
    $currentPageLast=$page*$perPageNum;
    //获取总记录数
    $sumNum=0;
    foreach ( $words[$initial] as $key=> $word ){
      $sumNum++;
    }
    //获取总页数
    $pageNums=0;
    if( $sumNum ){
      if( $sumNum init_searchWordsByInitial_Pager($sumNum,$pageNums,$page);
    $tab_str.="[table]
public function init_searchWordsByInitial_Pager($sumNum,$pageNums,$page)
{
     //根据用户点击的页码,获得当前页码组的首页码,如用户点击的38,那么这一组是21-40,首页码是21
     $current_first_page=floor(($page-1)/20)*20+1;
     $tab_str="";
     for($k=0;$k".$sumNum."个词语,".$pageNums."页";
     return $tab_str;
}
init.js   相关的JQuery代码,响应用户的动作
//初始化分页 Pager
var pageNums;//总页数
var sumNums;//总记录数
function init_searchWordsByInitial_Pager(){
   pageNums=$("#pageNums").html();//JS从页面HTML获取
   sumNums=$("#sumNums").html();
   if(pageNums==1)//如果只有一页,则隐藏Pager
   {
    $("#searchWordsByInitial_Pager").html("");
   }
   //让页码的默认值为1,默认显示的是第一页;
   if(page_initial==undefined){ page_initial=1;}
   //当页面过多时,我们一组只显示20个页码,后面缀一个NEXT按钮,点击后可以显示后面20个页码;同样,LAST按钮可以显示前面20个按钮
   $("#searchWordsByInitial_Pager ul button:eq(19)").after("Next");
   $("#searchWordsByInitial_Pager ul button:eq(0)").before("Last");
   //如果最后一组少于21页,那么就隐藏最后一个页码后面的,包括NEXT按钮【pageNums
一些注意事项:
1 $("div button.not_more_bt")中,前两个选择器之间是有空格 的,后两个没有;因为最后一个是 类选择器,要直接跟在button后面
2 .html() .val() .text()  的区别
3 :eq(index),:lt(index);gt(index) 中的 index 是从0开始,而且不能为变量,必须为 数字
如果需要让用到动态的 index,可以用
.eq(i)
4 var a=20;
var b=10;
var c;
c=a+b;
结果不是 30!是2020!
正确的写法是 c=parseInt(a)+_parseInt(b);
减法没事,但是最好也要转化一下
PHP 的 函数是 intval();
5 写代码之前,一定要规划好最优的方案,否则重头来就更费事了
6 JS代码和HTML加载的逻辑顺序
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • 使用PHP+JQuery+Ajax分页的实现
  • PHP+jquery+ajax实现分页
  • PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端