php中分页及SqlHelper类用法实例
本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)中分页及SqlHelper类用法。分享给大家供大家参考,具体如下:
文档目录结构如下:
SqlHelper.php代码如下:
?php/** *由JetBrains PhpStorm创建。*用户:李*日期: 13-7-26 *时间:下午8:30 *要更改此模板,请使用文件|设置|文件模板*/class Sqlhelper { private $ MySQL;私有静态$ host=' localhost私有静态$ user=' root私有静态$ pwd=私有静态$ db=' world private $ SQL=false private $ result=false function _ _ construct(){ $ this-MySQL=new MySQL(self : $ host,self:$user,self:$pwd,self : $ db);if($ this-MySQL-connect _ error){ die('连接数据库失败!$ this-MySQL-connect _ error);} $ this-MySQL-query(' set name utf8 ');}函数execute_dql_all($sql){ //执行查询语句$ arr=array();$ this-result=$ this-MySQL-query($ SQL)或die($ this-MySQL-connect _ error);//将数据转存到$arr数组中while($ row=MySQL _ fetch _ array($ this-result,MYSQL _ BOOTH)){ $ arr[]=$ row;} $ this-free-result();返回$ arr}函数execute_dql_num($sql){ //执行查询语句$ arr=array();$ this-result=$ this-MySQL-query($ SQL)或die($ this-MySQL-connect _ error);//将数据转存到$arr数组中while($ row=MySQL _ fetch _ array($ this-result,MYSQLI _ NUM)){ $ arr[]=$ row;} $ this-free-result();返回$ arr}函数execute_dql_assoc($sql){ //执行查询语句$ arr=array();$ this-result=$ this-MySQL-query($ SQL)或die($ this-MySQL-connect _ error);//将数据转存到$arr数组中while($ row=MySQL _ fetch _ array($ this-result,MYSQLI _ ASSOC)){ $ arr[]=$ row;} $ this-free-result();返回$ arr} //查询某表中的记录数函数execute_dql_counts($table,$id='*'){ $this-sql='从$表中选择计数($ id ';$ this-result=$ this-MySQL-query($ this-SQL);$ row=MySQL _ fetch _ all($ this-result);$ this-result-free();返回$ row[0][0];}函数execute_dml($sql){ //执行正删改$ this-result=$ this-MySQL-query($ SQL);if(!$ this-result){ return-1;//执行正删改失败} else { if($ this-MySQL-impact _ row s0){ return 1;//执行正删改成功,影响行数} else { return 0;//执行正删改成功,但没有影响行数} } }}Paging.php代码如下:
?php/** *由JetBrains PhpStorm创建。*用户:李*日期: 13-7-27 *时间:下午2:48 *要更改此模板,请使用文件|设置|文件模板*/header(' Content-type : text/html;'charset=utf-8;');require _ once(' sqlhelper。PHP’);分页类{ private $ sqlHelper=false private $ page count=false//页数private $ counts=false//总记录数private $ RETURr=false//分页超链接的分页function _ _ construct(){ $ this-sqlHelper=new sqlHelper();$ this-ReRR=array();} /* * 参数说明* * $表分页时对那个表的数据分页* $id辅助查询当前分页的数据表的总记录数* $pageSize每页显示多少条信息记录数* $分页大小分页栏每次循环显示出来的个数* $nowPage当前是第几页,默认第一页* $href分页栏的超链接将要往哪里连接*/函数paging _ prev _ next($ table,$id='*,$pageSize,$pagingSize,$nowPage=1,$ href){ $ this-counts=$ this-sqlHelper-execute _ dql _ counts($ table,$ id);$ this-页数=ceil($ this-counts/$页面大小);$ this-RETURr[' count ']=$ this-count;$ this-returnr[' start ']=($ now page-1)* $ page size;$ this-returnr[' limit ']=$ page size;if($ now page $ this-页数| | $ now page=0){ return false;} $ t=(ceil($ now page/$ pagingSize)-1)* $ pagingSize 1;$ pre=$ now page-$ pagingSize;$ NEX=$ now page $ pagingSizeecho ' span class='分页列表构成动植物的古名或拉丁化的现代名分页列表-a-带BG " { $ now page }/{ $ this-page count }/span a href=' { $ href }?现在page={ $ pre } ' class=' paging-list-a '/a ';for($ I=$ t;$ i $ t $分页大小;$ I){ if($ I * $页面大小$ this-页数* $页面大小){ break} else { if($ now page==$ I){ echo ' a href=' { $ href }?现在page={ $ I } ' class=' paging-list-a-paging-list-a-带有BG ' { I $ I }/a ';}else{ echo ' a href='{$href}?nowPage={$i}' class='分页列表-a“{ I $ I }/a”;} } } echo ' a href='{$href}?现在page={ $ NEX } ' class=' paging-list-a '/a ';返回$ this-ReRR;} }寻呼列表链接。钢性铸铁代码如下:
/** *由JetBrains PhpStorm创建。*用户:李*日期: 13-7-27 *时间:下午5:56 *要更改此模板,请使用文件|设置|文件模板。*/.分页列表-a {边框:1 px实心# b5b 5af背景色: # EFE床;font-family : ' meirayo UIfont-size : 16px字体粗细: 600;padd : 0px 8px 0px 8px/* cursor :指针;*/text-装饰:无;color: # 292927}。分页列表a-带BG {底色: # 1D 92e 2;颜色:白色;}usePaging.php代码如下:
!' DOCTYPE html html标题/标题链接rel='样式表type=' text/CSS ' href=' page-list-link。CSS/head dy?phpheader('内容类型:文本/html;'charset=utf-8;');require _ once ' Paging . PHP $ Paging=new Paging();//参数说明/* * $表分页时对那个表的数据分页* $id辅助查询当前分页的数据表的总记录数* $pageSize每页显示多少条信息记录数* $分页大小分页栏每次循环显示出来的个数* $nowPage当前是第几页,默认第一页* $href分页栏的超链接将要往哪里连接,当前页链接地址*///控制起始页为$ now page=1;if(isset($ _ GET[' now page ']){ $ now page=$ _ GET[' now page '];}//定义分页所需参数$ meiyesiansi=10 $ meiyelianjieshu=10 $ receiveArr=array();$ receiveArr=$ paging-paging _ prev _ next(' city ',' ID ',$ meiyexiansi,$ meiyelianjieshu,$nowPage,' usepaging。PHP’);//容错判断if(!$ receiveArr){ return;}//查询每页需要显示的数据,大小限制存在$receiveArr数组中$ Sqlhelper=new Sqlhelper();$ result=$ Sqlhelper-execute _ dql _ num('从城市限制中选择* ')。$receiveArr['start'].','.$receiveArr['limit'].'');回声“pre”;print _ r($ result);回声/pre ';/body/html所使用的数据库为MySQL5.6所自带的世界数据库
下面是运行的效果截图:
不过代码还有个Bug。就是翻页到最后的时候会出现显示不了,原因在于Paging.php文件的41~43 行左右判断有问题。
错误代码如下:
if($ now page $ this-page count | | $ now page=0){ return false;}
更多对PHP相关内容感兴趣的读者可以查看本网站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》、《php常见数据库操作技巧汇总》、0103010
希望本文对PHP编程有所帮助。
版权声明:php中分页及SqlHelper类用法实例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。