仓酷云
标题:
PHP网页编程之页码主动顺应局限的分页代码
[打印本页]
作者:
飘飘悠悠
时间:
2015-2-3 23:52
标题:
PHP网页编程之页码主动顺应局限的分页代码
小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。 后果图:
记得之前看到过一个页码体例的分页后果,页码数多了折行持续显示一向到60多页,呵呵!有点影响雅观!
因而写了一个,可以主动顺应局限的页码分页法式
也就是说,页码格局以下
<< < 1 2 3
4
5 6 7 > >>
<< < 6 7 8
9
10 11 12 > >>
下划线为以后页,如许就能够固定显示一个邻近的页码,防止太长影响雅观
代码加了正文,次要是老手看看,呵呵 ,写这个函数,没有思索体现布局分别成绩,高手就不要究查了!
复制内容到剪贴板
代码:
<?php
function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){
$pagecode = '';//界说变量,寄存分页生成的HTML
$page = intval($page);//防止非数字页码
$total = intval($total);//包管总纪录数值类型准确
if(!$total) return array();//总纪录数为零前往空数组
$pages = ceil($total/$pagesize);//盘算总分页
//处置页码正当性
if($page<1) $page = 1;
if($page>$pages) $page = $pages;
//盘算查询偏移量
$offset = $pagesize*($page-1);
//页码局限盘算
$init = 1;//肇端页码数
$max = $pages;//停止页码数
$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
$pageoffset = ($pagelen-1)/2;//页码个数摆布偏移量
//生成html
$pagecode='<div class="page">';
$pagecode.="<span>$page/$pages</span>";//第几页,共几页
//假如是第一页,则不显示第一页和上一页的毗连
if($page!=1){
$pagecode.="<a href=\"{$phpfile}?page=1\"><<</a>";//第一页
$pagecode.="<a href=\"{$phpfile}?page=".($page-1)."\"><</a>";//上一页
}
//分页数大于页码个数时可以偏移
if($pages>$pagelen){
//假如以后页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max = $pagelen;
}else{//假如以后页大于左偏移
//假如以后页码右偏移超越最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$pagelen+1;
}else{
//摆布偏移都存在时的盘算
$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}
//生成html
for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.='<span>'.$i.'</span>';
} else {
$pagecode.="<a href=\"{$phpfile}?page={$i}\">$i</a>";
}
}
if($page!=$pages){
$pagecode.="<a href=\"{$phpfile}?page=".($page+1)."\">></a>";//下一页
$pagecode.="<a href=\"{$phpfile}?page={$pages}\">>></a>";//最初一页
}
$pagecode.='</div>';
return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);
}
?>函数参数:
$page 以后$_GET取得的页码
$total 总纪录数
$phpfile 页码毗连文件名
$pagesize 不必注释了吧 呵呵
$pagelen 最多显示几个页码 注重(奇数),对称嘛!
函数前往一个数组:
pagecode 索引对应的内容是 生成的HTML 代码
sqllimit 索引对应的是sql limit 后缀
利用办法:
复制内容到剪贴板
代码:
<?php
$phpfile = 'index.php';
$page= isset($_GET['page'])?$_GET['page']:1;
$db = new Mysql();
$counts = $db->counts('select `id` from `test`');
$sql='select `id`,`title` from `test`';
$getpageinfo = page($page,$counts,$phpfile);
$sql.=$getpageinfo['sqllimit'];
$data = $db->getRows($sql);
?>
<?php
echo $getpageinfo['pagecode'];//显示分页的html代码
?>补助css
复制内容到剪贴板
代码:
<style type="text/css">
body{font-family:Tahoma;}
.page{padding:2px;font-weight:bolder;font-size:12px;}
.page a{border:1px solid #ccc;padding:0 5px 0 5px;margin:2px;text-decoration:none;color:#333;}
.page span{padding:0 5px 0 5px;margin:2px;background:#09f;color:#fff;border:1px solid #09c;}
</style> <font face=Verdana>以下是HTML网页殊效代码,点击运转按钮可检查后果:
登录/注册后可看大图
html.gif
(578 Bytes, 下载次数: 59)
下载附件
保存到相册
PHP网页编程之页码主动顺应局限的分页代码
2015-2-3 23:52 上传
以下是法式代码<style type="text/css"> .page { width:auto; height:auto } .page ul { list-style:none; paddingL0; margin:0 } .page li { width:auto; height:20px; line-height:20px; float:left; margin-right:2px; color:#000; display:block; font-size:12px } .page li a { width:auto; height:20px; line-height:20px; border:1px solid #CCC; float:left; margin-right:2px; color:#000; TEXT-DECORATION: none; display:block; padding:0 5px; font-size:12px } .page li a:hover { background:blue; color:white; TEXT-DECORATION: none; border:1px solid blue } </style> <div class="page"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">6</a></li> <li><a href="#">7</a></li> <li><a href="#">8</a></li> <li><a href="#">9</a></li> <li><a href="#">10</a></li> <li><a href="#">11</a></li> <li><a href="#">12</a></li> <li><a href="#">13</a></li> <li><a href="#">14</a></li> <li><a href="#">15</a></li> </ul> </div></font></CODE></div> <a href="http://js.alixixi.com/">接待会见阿里西西网页殊效代码站,js.alixixi.com</a>
[Ctrl+A 全体选择 提醒:你可先修正局部代码,再按运转]理解动态语言的概念,运做机制,熟悉PHP语法
作者:
若相依
时间:
2015-2-4 06:48
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者:
飘灵儿
时间:
2015-2-5 15:34
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者:
蒙在股里
时间:
2015-2-9 04:28
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者:
简单生活
时间:
2015-2-10 10:36
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者:
小魔女
时间:
2015-3-1 09:03
兴趣是最好的老师,百度是最好的词典。
作者:
因胸联盟
时间:
2015-3-10 13:01
做为1门年轻的语言,php一直很努力。
作者:
仓酷云
时间:
2015-3-10 20:53
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者:
兰色精灵
时间:
2015-3-15 18:34
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者:
灵魂腐蚀
时间:
2015-3-17 18:15
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者:
再见西城
时间:
2015-3-24 15:48
兴趣是最好的老师,百度是最好的词典。
作者:
乐观
时间:
2015-3-26 23:49
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者:
爱飞
时间:
2015-3-27 09:10
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者:
不帅
时间:
2015-3-31 16:53
实践是检验自己会不会的真理。
作者:
谁可相欹
时间:
2015-4-15 17:34
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者:
变相怪杰
时间:
2015-4-25 06:51
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者:
深爱那片海
时间:
2015-4-26 15:10
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者:
小女巫
时间:
2015-5-4 03:01
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者:
admin
时间:
2015-5-8 06:07
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者:
小妖女
时间:
2015-6-13 21:32
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2