php,表格制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
php,表格制作
篇一:使用php和jquery制作分页和表格
使用php和jquery制作分页和表格
如果您已经下载了本站提供的baseproject项目源码,后台中列表页面均可作为示例,其中文章列表页面的功能最为丰富。如果您没有下载该源码,相关的js文件可以从获得,示例页面为页面。以下是后台文章列表页面的截图。
分页和表格功能实例截图分页功能详解
分页功能用于当目标数据过多时,为提高页面展示速度采用的一种手段。本文中的分页功能借用了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);//获取当前页码,如果未指定则设为1
3.$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::getF ullycolumnname(article,
article_category_id)),
13.`article`.`article_status_id`
=>$this->getRequest()->getparam(project_table::getF ullycolumnname(article,
article_status_id)),
14.);
15.$wherestring=;
16.foreach($wherearrayas$key=>$value){
17.if(!empty($value)){
18.if($key==`article`.`article_category_id`-1){
19.$wherestring.="and{$key}isnull";
20.}else{
21.$wherestring.="and{$key}={$value}";
22.}
23.}
24.}
25.if(!empty($wherestring)){
26.$wherestring=substr($wherestring,strlen(and));
27.}else{
28.$wherestring=null;
29.}
30./*以上是处理where子句的*/
31.$maxgetRows=project_config::paginatoR_item_count _peR_page;//设置每页显示的记录数量
32.$articles=$marticle->getarticles($wherestring,$s ortby,$maxgetRows,($pagenumber-1)*$maxgetRows);//从数据库中读取数据
33.$countarticles=project_table::getlastFoundRows() ;//获得符合条件的数据总数
35.//如果没有取到任何记录,而且记录总数不为空,说明当前页码超出范围了,所以处理一下
36.$articles=$marticle->getarticles($wherestring,$s ortby,$maxgetRows,null);
37.$pagenumber=1;
38.}
39.$pdate=project_datetime::getinstance();//时间处理工具,和本文无关
40.foreach($articlesas$key=>$article){
41.$articles[$key][project_table::getFullycolumnnam e(article,modified)]=$pdate->getusertimeFromtime($a rticle[project_table::getFullycolumnname(article,mo dified)],true);//把时间戳转换为用户的当地时间,和本文无关