当前位置:
首页> 使用PHP和jQuery制作分页和表格
使用PHP和jQuery制作分页和表格
时间:2023-01-19 03:27:27 下载该word文档
使用PHP和jQuery制作分页和表格
如果您已经下载了本站提供的baseProject项目源码,后台中列表页面均可作为示例,其中文章列表页面的功能最为丰富。如果您没有下载该源码,相关的js文件可以从http://www.941172.com/scripts/basic.js获得,示例页面为http://www.941172.com/feedback页面。以下是后台文章列表页面的截图。
分页和表格功能实例截图
分页功能详解
分页功能用于当目标数据过多时,为提高页面展示速度采用的一种手段。本文中的分页功能借用了ZendFramework中的Zend_Paginator对象,分页适配器为Zend_Paginator_Adapter_Null。该适配器也是最简单易用的一个。
工作原理
在PHP端,分页功能的基本参数为记录总数($countRows、每页显示的记录数($rowsPerPage、当前页码($page默认值为1,页码数量($items指每次在页面上显示多少个页码,建议为单数。其他参数可以通过计算得到:
1.页码合计($countPages取不小于$countRows/$rowsPerPage的整数;2.起始页码和结束页码的计算方式太长不写了;
3.页码列表:从起始页码到结束页码的页码组成的数组,如array(4,5,6,7,8在HTML端,必要的参数为PHP端计算得出的数据,同时需要指定一个用于显示分页信息的html元素。然后使用jQuery根据参数动态生成html并将其插入到指定的html元素中就行了。
PHP示例代码详解
1.2.
publicfunctionarticlesAction({$pageNumber=$this->getRequest(->getParam('page',1;//获取当前页码,如果未指定则设为13.$sortBy=$this->getRequest(->getParam('sortby';//获取sortby设置4.if(empty($sortBy||!preg_match('/^[a-z0-9_-]+(asc|desc$/i',$sortBy{5.//如果sortBy为空或者不符合格式要求则使用以下的排序方式6.//注意:一定要进行格式检查,防止sql注入7.$sortBy=Project_Table::getFullyColumnName('article','id'.'desc';8.}9.$mArticle=newModel_Article(;10./*这部分是处理where子句的,和本文关系不大,略过*/11.$whereArray=array(12.
'`article`.`article_category_id`'=>$this->getRequest(->getParam(Project_Table::getFullyColumnName('article','article_category_id',13.
'`article`.`article_status_id`'=>$this->getRequest(->getParam(Project_Table::getFullyColumnName('article','article_status_id',14.;15.$whereString='';16.foreach($whereArrayas$key=>$value{17.if(!empty($value{18.if($key=='`article`.`article_category_id`'&&$value=='-1'{19.$whereString.="AND{$key}ISNULL";20.