php仿ZOL分页类代码
2015-01-24信息快讯网
模板zol网站的分页效果代码,效果如下图所示
<?php /** * 功能:分页类 * 作者:phpox * 时间:Sat Jul 14 18:15:02 CST 2007 */ defined('PHPOX') or die(header("HTTP/1.1 403 Not Forbidden")); class page{ public $infocount; public $pagecount; public $items; public $pageno; public $start; public $next; public $prev; public $maxpages; public function __construct($infocount,$items,$pageno){ $this->infocount = $infocount; $this->items = $items; $this->pageno = $pageno; $this->pagecount = $this->getpagecount(); $this->justpageno(); $this->start = $this->getstart(); $this->gotoprev(); $this->gotonext(); } private function justpageno(){ if (emptyempty($this->pageno) || $this->pageno < 1){ $this->pageno = 1; } if ($this->pageno > $this->pagecount){ $this->pageno = $this->pagecount; } } private function gotonext(){ $next = $this->pageno + 1; if ($next > $this->pagecount){ $this->next = $this->pagecount; }else { $this->next = $next; } } private function gotoprev(){ $prev = $this->pageno -1; if ($prev < 1){ $this->prev = 1; }else { $this->prev = $prev; } } private function getpagecount(){ return ceil($this->infocount / $this->items); } private function getstart(){ if ($this->pageno <= 1){ return 0; }else { return ($this->pageno - 1) * $this->items; } } /** * 样式0(php) */ public function showpage($ctlname,$actname,$args = null){ if ($args !== null){ if (is_array($args)){ $str = '&'.encode_url_args($args); } } $out = ''; $out .= "每页显示{$this->items}条信息 "; $out .= "当前页<strong><font color=\"#FF0000\">{$this->pageno}</font>/{$this->pagecount}</strong> "; $out .= "共有{$this->infocount}条信息 "; $out .= "<a href='?ctl={$ctlname}&act={$actname}&p=1$str'>首页</a> "; $out .= "<a href='?ctl={$ctlname}&act={$actname}&p={$this->prev}$str'>上一页</a> "; $out .= "<a href='?ctl={$ctlname}&act={$actname}&p={$this->next}$str'>下一页</a> "; $out .= "<a href='?ctl={$ctlname}&act={$actname}&p={$this->pagecount}$str'>尾页</a> "; $out .= "跳转到:"; $out .= "<select id=\"page\" name=\"page\" onchange=\"javascript:window.location='?ctl={$ctlname}&act={$actname}$str&p='+this.options[this.selectedIndex].value;\">\n"; $out .= " <option value=\"1\">请选择</option>\n"; for ($i = 1;$i <= $this->pagecount;$i++){ $out .= " <option value=\"$i\">第{$i}页</option>\n"; } $out .= "</select>\n"; return $out; } /** * 样式1(html) */ function htmlshowpage($path,$list,$film){ $out = ''; $out .= "每页显示{$this->items}条信息 "; $out .= "当前页<strong><font color=\"#FF0000\">{$this->pageno}</font>/{$this->pagecount}</strong> "; $out .= "共有{$this->infocount}条信息 "; $out .= "<a href='{$path}$list/{$film}_1.html'>首页</a> "; $out .= "<a href='{$path}$list/{$film}_{$this->prev}.html'>上一页</a> "; $out .= "<a href='{$path}$list/{$film}_{$this->next}.html'>下一页</a> "; $out .= "<a href='{$path}$list/{$film}_{$this->pagecount}.html'>尾页</a> "; $out .= "跳转到:"; $out .= "<select id=\"page\" name=\"page\" onchange=\"javascript:window.location='{$path}html/$list/{$film}_'+this.options[this.selectedIndex].value +'.html'\">\n"; $out .= " <option value=\"1\">请选择</option>\n"; for ($i = 1;$i <= $this->pagecount;$i++){ $out .= " <option value=\"$i\">第{$i}页</option>\n"; } $out .= "</select>\n"; return $out; } /** * 样式2(discuz) */ function multi($mpurl,$page = 10) { $multipage = ''; $mpurl .= strpos($mpurl, '?') !== false ? '&' : '?'; $realpages = 1; if($this->infocount > $this->items) { $offset = 2; $realpages = @ceil($this->infocount / $this->items); $pages = $this->maxpages && $this->maxpages < $realpages ? $this->maxpages : $realpages; if($page > $pages) { $from = 1; $to = $pages; } else { $from = $this->pageno - $offset; $to = $from + $page - 1; if($from < 1) { $to = $this->pageno + 1 - $from; $from = 1; if($to - $from < $page) { $to = $page; } } elseif($to > $pages) { $from = $pages - $page + 1; $to = $pages; } } $multipage = ($this->pageno - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first">1 ...</a>' : ''). ($this->pageno > 1 ? '<a href="'.$mpurl.'page='.($this->pageno - 1).'" class="p_redirect"><<</a>' : ''); for($i = $from; $i <= $to; $i++) { $multipage .= $i == $this->pageno ? '<a class="p_curpage"><strong>'.$i.'</strong></a>' :'<a href="'.$mpurl.'page='.$i.'" class="p_num">'.$i.'</a>'; } $multipage .= ($this->pageno < $pages ? '<a href="'.$mpurl.'page='.($this->pageno + 1).'" class="p_redirect">>></a>' : ''). ($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last">... '.$realpages.'</a>' : ''). ($pages > $page ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=\''.$mpurl.'page=\'+this.value; return false;}" /></kbd>' : ''); $multipage = $multipage ? '<div class="p_bar"><a class="p_total"> '.$this->infocount.' </a><a class="p_pages"> '.$this->pageno.'/'.$pages.' </a>'.$multipage.'</div>' : ''; } return $multipage; } /** * 样式3(zol) */ public function zol($mpurl) { $mpurl .= strpos($mpurl, '?') !== false ? '&' : '?'; $code = '<div class="f22 mt10 hei14">'; $code .= '<div style="line-height:30px">第<font class="a_hong14b">'.$this->pageno.'</font><font class="a_hei14">/'.$this->pagecount.'</font>页 每页<font class="a_hei14">'.$this->items.'</font> 共<font class="a_hong14b">'.$this->infocount.'</font>款产品</div>'; $code .= '<table border="0" align="right" cellpadding="0" cellspacing="3">'; $code .= '<tr>'; if ($this->pageno == $this->prev) { $code .= "<td width='64' align='center' class='bd_hui huei14b'><a disabled='disabled' class='a_hui12b'><<上一页</a></td>"; } else { $code .= "<td width='64' align='center' class='bd_lan a_lan14'><a href='{$mpurl}page={$this->prev}' class='a_lan12b'><<上一页</a></td>"; } $i = 10 ; $k = 1; if ($this->pageno < 1) { $this->pageno = 1; } if ($this->pageno > $this->pagecount) { $this->pageno = $this->pagecount; } $s = $this->pageno-2; if ($s <= 0) { $s = 1; } $e = $this->pageno+2; if ($e < 5 ) { $e = 5; } if ($e > $this->pagecount) { $e = $this->pagecount; } for ($j=$s;$j<=$e;$j++) { if ($this->pageno == $j) { $code .= '<td width="22" bgcolor="#2E6AB1" class="bei14" align="center">'.$j.'</td>'; } else { $code .= "<td width='22' align='center' class='bd_lan a_lan14' onMouseOver=\"this.style.border='1px solid #2062A4'\" onMouseOut=\"this.style.border='1px solid #AACCEE'\" style=\"CURSOR: hand\" onClick=\"javascript:window.location=('{$mpurl}page={$j}')\">$j</td>"; } } if ($this->pageno == $this->pagecount) { $code .= "<td align='center' width='64' class='bd_hui huei14b'><a disabled='disabled' >下一页>></a></td>"; } else { $code .= "<td align='center' width='64' class='bd_lan lan14b'><a href='{$mpurl}page={$this->next}' class='a_lan12b'>下一页>></a></td>"; } $code .= '</tr>'; $code .= '</table>'; $code .= '</div>'; return $code; } }
PHP中文URL编解码(urlencode()rawurlencode()
php的一些小问题
php HtmlReplace输入过滤安全函数
php下mysql数据库操作类(改自discuz)
php下通过伪造http头破解防盗链的代码
php文章内容分页并生成相应的htm静态页面代码
php imagecreatetruecolor 创建高清和透明图片代码小结
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
php+mysql事务rollback&commit示例
PHP has encountered an Access Violation 错误的解决方法
用php实现让页面只能被百度gogole蜘蛛访问的方法
PHP 分页原理分析,大家可以看看
php jquery 实现新闻标签分类与无刷新分页
一个比较简单的PHP 分页分组类
PHP has encountered an Access Violation at 7C94BD02解决方法
php仿discuz分页效果代码
php生成缩略图的类代码
PHP实时显示输出
PHP在字符串中查找指定字符串并删除的代码
php之对抗Web扫描器的脚本技巧
利用PHP制作简单的内容采集器的原理分析
PHP通用分页类page.php[仿google分页]
php自动适应范围的分页代码
效率较高的php下读取文本文件的代码 原创
php MySQL与分页效率
php mysql数据库操作分页类
JS实现php的伪分页
PHP 优化配置――加速你的VBB,phpwind,Discuz,IPB,MolyX第1/2页
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
PHP has encountered an Access Violation
PHP中通过ADODB库实现调用Access数据库之修正版本 原创