2008-03-23
发个PHP分页函数,顺便唠叨几句。
前一小段时间在学ASP.NET,由于某些原因,暂时放弃了,回到PHP的怀抱。发现PHP才是我的最爱,趁着这两天休息,好好写写代码。这次准备写个BLOG程序给自己用,也当做练手。自离开老迷的JSCRIPT工程以后,好久没这么认真写过代码了,发现我写起代码来特别有激情。昨天晚上弄到差不多凌晨4点钟才睡,今天差不多9点钟就起床了。起床后又继续弄,早餐都懒得吃,所以今天生活特别简朴。吃了点粥,吃了碗泡面,下午才跑下楼买点菜回来煮。
好了,唠叨完了,下面发个PHP的分页函数,参考Discuzl论坛的,连风格都一样:)
:P郁闷~~这博客发起代码来煞是难看,都乱成一团了!
PHP代码
- /**********************
- 函数作用:分页函数
- 作 者:依龙 @ www.lisijie.com.cn
- 参数说明:
- $num : 记录总数
- $prepage : 每页显示记录数
- $curpage : 当前页数
- $pagenum : 页数按钮个数
- 变量说明:
- $pagestr : 最终输出的HTML
- $realpages : 实际总页数
- $from : 页面按钮起始页数
- $to : 页面按钮结束页数
- $offset : 当前页面大于$pagenum时,当前页前面偏移页数
- ***********************/
- function multipage ($num = 0,$prepage = 0,$curpage = 0,$url = '',$pagenum = 10) {
- $pagestr = '';
- $url .= strpos($url,'?') ? '&' : '?';
- $realpages = 1;
- if ($num > $prepage) {
- $realpages = @ceil($num/$prepage);
- if ($realpages < $pagenum) {
- $from = 1;
- $to = $realpages;
- } else {
- $offset = 2;
- $from = $curpage - $offset;
- $to = $form + $pagenum;
- if ($from < 1) {
- $from = 1;
- $to = $from + $pagenum - 1;
- } elseif ($to > $realpages) {
- $to = $realpages;
- $from = $realpages - $pagenum + 1;
- }
- }
- $pagestr .= '<span>'.$num.'</span>';
- if ($curpage > $pagenum) $pagestr .= '<a href="'.$url.'page=1">1...</a>';
- if ($curpage > 1) $pagestr .= '<a href="'.$url.'page='.($curpage-1).'">‹‹</a>';
- for ($i = $from; $i <= $to; $i++) {
- if ($i == $curpage) {
- $pagestr .= '<span class="on">'.$i.'</span>';
- } else {
- $pagestr .= '<a href="'.$url.'page='.$i.'">'.$i.'</a>';
- }
- }
- if ($curpage < $realpages) $pagestr .= '<a href="'.$url.'page='.($curpage+1).'">››</a>';
- if ($realpages > $to) $pagestr .= '<a href="'.$url.'page='.$realpages.'">'.$realpages.'...</a>';
- if ($realpages > 1) $pagestr .= '<input type="text" size="3" class="go" onkeydown="if (event.keyCode==13) {window.location=\''.$url.'page=\'+this.value;return false;}" />';
- $pagestr = '<div class="multipage">'.$pagestr.'</div>';
- }
- return $pagestr;
- }
差点忘了,附上分页样式:
CSS代码
- .multipage {background:#f0f0f0;border:1px solid #CAD9EA;display:inline;margin:2px;height:27px;font-size:12px;}
- .multipage span {padding:0 10px;display:block;float:left;line-height:27px;}
- .multipage .on {background:#CAD9EA;font-weight:bold;color:#090;}
- .multipage a {color:#333;background:#f0f0f0;line-height:27px;height:27px;display:block;float:left;padding:0 10px;text-decoration:none;}
- .multipage a:hover {background:#fff}
标签:PHP | 作者:admin | 分类:网站开发 | 评论: | 浏览: