php仿discuz分页效果代码

yipeiwu_com7年前PHP代码库

复制代码 代码如下:

/**
* 显示样式2
*/
function multi($mpurl,$page = 10) {

$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
$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;
}

这是效果:
图片附件:
大小: 2.07 K
尺寸: 191 x 33
浏览: 28 次
点击打开新窗口浏览全图

相关文章

PHP 伪静态隐藏传递参数名的四种方法

伪静态方法一: 复制代码 代码如下: <?php //伪静态方法一 // localhost/php100/test.php?id|1@action|2 $Php2Html_Fil...

php实现的中秋博饼游戏之掷骰子并输出结果功能详解

php实现的中秋博饼游戏之掷骰子并输出结果功能详解

本文实例讲述了php实现的中秋博饼游戏之掷骰子并输出结果功能。分享给大家供大家参考,具体如下: 前面讲述了php实现的中秋博饼游戏之绘制骰子图案功能,纯php实现,就要用php来生成图案...

将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组。 复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ), ...

php对关联数组循环遍历的实现方法

本文实例讲述了php对关联数组循环遍历的实现方法。分享给大家供大家参考。具体分析如下: php对于类似 $age = array("zhangshan"=>14,"lisi"...

PHP中header和session_start前不能有输出原因分析

在http传输文本中,规定必须 header和content顺序必须是:header在前content在后,并且header的格式必须满足“keyword: value\n”这种格式。...