php表格制作.docx
《php表格制作.docx》由会员分享,可在线阅读,更多相关《php表格制作.docx(8页珍藏版)》请在冰豆网上搜索。
php表格制作
竭诚为您提供优质文档/双击可除
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:
:
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`-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,$sortby,$maxgetRows,($pagenumber-1)*$maxgetRows);//从数据库中读取数据
33.$countarticles=project_table:
:
getlastFoundRows();//获得符合条件的数据总数
35.//如果没有取到任何记录,而且记录总数不为空,说明当前页码超出范围了,所以处理一下
36.$articles=$marticle->getarticles($wherestring,$sortby,$maxgetRows,null);
37.$pagenumber=1;
38.}
39.$pdate=project_datetime:
:
getinstance();//时间处理工具,和本文无关
40.foreach($articlesas$key=>$article){
41.$articles[$key][project_table:
:
getFullycolumnname(article,modified)]=$pdate->getusertimeFromtime($article[project_table:
:
getFullycolumnname(article,modified)],true);//把时间戳转换为用户的当地时间,和本文无关
42.}
$paginator=zend_paginator:
:
factory($countarticles,null);//调用zend提供
的分页适配器,参数1是总记录数,参数2是适配器的名字
44.$paginator->setcurrentpagenumber($pagenumber);//告诉分页器当前页码
45.$pages=$paginator->getpages();//得到了前面提到的所有参数,后面我会打印它,这样你会直观的看到其内容
46.$this->view->articles=$articles;
47.$this->view->pages=$pages;43.
48.//以下处理是为了页面中的下拉选单提供选项数据,和本文关系不大
49.if(!
$this->getRequest()->ispost()){
50.$mparticle=newmapper_article();
51.$this->view->elementarticlestatusid=
$mparticle->getelement(article_status_id,array(project_mapper:
:
options_nullable=>true,project_mapper:
:
options_deFault=>));
52.$_categories=$marticle->getallowappendarticlearticlecategories(null,null,null,null,true);
53.$categories=array(
54.$this->view->translate(model_article:
:
no_categoRy)=>-1,
55.);
56.foreach($_categoriesas$key=>$row){
57.
$categories[$row[project_table:
:
getFullycolumnname(article_category,name)]]=$row[project_table:
:
getFullycolumnname(article_category,id)];
58.}
59.$mparticle=newmapper_article();
60.$this->view->elementarticlecategories=
$mparticle->getelement(article_category_id,array(project_mapper:
:
options_in_aRRay=>$categories,project_mapper:
:
options_nullable=>true));
61.}
62.}
$pages中的内容我打印了一下,这样更直观。
如下。
63.stdclassobject
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.[pagecount]=>3[itemcountperpage]=>10[first]=>1[current]=>2[last]=>3[previous]=>1[next]=>3[pagesinRange]=>array([1]=>1[2]=>2[3]=>3)[firstpageinRange]=>1[lastpageinRange]=>3[currentitemcount]=>10[totalitemcount]=>21[firstitemnumber]=>11[lastitemnumber]=>20)
zendFramework的开发人员确实很认真,返回的参数非常充分,不需要任何的补充。
顺便提一下以上代码中未体现的细节,当使用post方式访问该页面时会得到json数据而不是html。
这个细节写在init()方法中,代码如下:
1.publicfunctioninit(){
2.if($this->getRequest()->ispost()){
3.$this->_helper
4.->contextswitch()
5.
6.
7.
8.
9.
10.
11.
}}->addactioncontext(articles,json)//就是这里咯->addactioncontext(trashcategory,json)->addactioncontext(trasharticle,json)->addactioncontext(movecategory,json)->initcontext(json);
html示例代码详解
这次只贴出关键的内容哦。
1.url()>"onsubmit="
2.try{
returnpbase.submitForm(this,true,null,loadarticlesgrid);//使用ajax提交表
单,回调函数为loadarticlesgrid
4.}catch(e){
5.alert(e.message);
6.returnfalse;
7.};">
8.
9.3.
10.
11.pagination($this->pages->current,articles)>
12.
13.
14.
15.search_select($this->elementarticlestatusid,array(onchange=>"pbase.paginator(div.pagination[name=articles],goto,1);"));>
16.search_select($this->elementarticlecategories,array(onchange=>"pbase.paginator(div.pagination[name=articles],goto,1);"));>
17.iconbutton(add,
$this->actiontitle(createarticle),"window.open(php,表格制作)({$this->url(array(action
=>editarticle))})",!
project_session:
:
getinstance()->isallow(editarticle))>
18.
19.
20.
21.
22.
23.
24.
25.
false)>
26.
27.
28.
29.
30.
31.…pagination($this->pages->current,articles,$(document).ready(function(){//这句话就是调用js绘制分页的,第一个参数是目标容器,第二个参数是相关参数组成的json对象(就是$pages)啦)
32.pbase.paginator(div.pagination[name=articles],{$jsonpages});
33.});
34.functionloadarticlesgrid(response){
35.//ajax回调,此时重绘分页
36.pbase.paginator(div.pagination[name=articles],response.pages);
37.}
38.
里面用到了一个helper,因为这样可以避免反复去写类似的html内容。
带有两个参数,
篇二:
基于php评价表设计
基于php的评价表设计
【摘要】介绍了利用mysql建立数据库,php(hypertext
preprocessor超文本预处理器)技术实现站点与数据库的动态连接,完成评价表的制作。
【关键词】php;mysql;统计数据
随着网络技术的发展,给多媒体计算机辅助教学(mcai)软件注入了新的活力。
网络cai(networkbasedcomputerassisted
instruction—nbcai)使学生和教师通过计算机网络进行课程内容的学习、讲授、练习和测试。
基于网络开展的教学活动,更侧重以个人为主、主动型的学习模式。
可以采用的方式有让学生参与评价,通过自我评价增强学生的学习动机,让学生根据自己的实际情况,自主安排学习计划,还可让学生自由选择教学内容与作业,增强学习主动性。
1评价表简介
“任务驱动”是实施探究式教学模式的一种教学方法。
随着学校信息技术课程改革的深入,越来越多的学校采用“任务驱动”方式进行教学。
该评价表就是面向于这种课堂教学模式的应用。
学生在完成当前任务后,在课堂上进行自我评价,教师通过评价表的反馈,看到学生对知识点的掌握情况,可以及时调整教学进度,更好的完成教学任务。
本评价表主要包括数据的统计、查询、清空、项目的删除与添加。
在登陆页面中可以选择“学生登陆”与“教师登陆”。
作为学生登
篇三:
表格制作举例
表4某桥支座压力表kn
40号桥墩
41号桥墩
工况工况Ⅰ工况Ⅱ工况Ⅲ
内侧外侧上部下部内侧外侧上部下部
平均
123.3222.3222.5555.5123.3222.3222.5555.5333.6
423.3422.3252.5655.5423.3422.3252.5655.5442.3
523.3522.3552.5555.5523.3522.3552.5555.5551.9
修改前
表1高级php泥浆各种原材料及掺量表
修改后
表1高级php泥浆各种原材料及掺量表
原料名称粘土
高岭石
掺量
水用量10%~12%
备注
造浆能力为16~20m/t造浆能力为8~12m/t分散大颗粒变成小颗粒提高ph值
提高粘度、提高泥浆的胶体率和稳定
性、降低失水量清除劣质钻屑,净化泥浆增加泥浆密度,提高泥浆的稳定性防渗防漏
33
膨润土、蒙脱石水用量6%~8%
纯碱(na2co3)泥浆用量的0.07%~0.1%
分散剂
烧碱(naoh)
羧甲基纤维素(cmc)
聚丙烯酰胺
絮凝剂
(php)
加重剂重晶石(baso4)
锯末、水泥、纸
防漏剂
浆等提粘剂
泥浆用量的0.01%泥浆用量的0.002%泥浆用量的0.003%根据不同土质调整水用量的1%~2%