/**
* 分页函数
* by hkshadow
* 2011-04-07
* Enter description here ...
* @param 结果总条数count(); $num
* @param 每页条数 $perpage
* @param 当前页 $curpage
* @param 分页地址$url = 'index.php?' . $para; $mpurl
* @param 数字分页数量 $page
* $multipage = ListMulti ( $max, $tpp, $page, $url ,0,5);
*/
function ListMulti($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = TRUE, $simple = FALSE) {
$multipage = '';
$mpurl .= strpos ( $mpurl, '?' ) ? '&' : '?';
$realpages = 1;
/* if($num > $perpage)
{*/
$offset = 2;
$realpages = @ceil ( $num / $perpage );
$pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
if ($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if ($from < 1) {
$to = $curpage + 1 - $from;
$from = 1;
if ($to - $from < $page) {
$to = $page;
}
} elseif ($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}
$multipage = '<li><a href="' . $mpurl . 'page=1" class="prev">首页</a></li>';
$multipage .= ($curpage - $offset > 1 && $pages > '<li>' . $page . '</li>' ? '<li><a href="' . $mpurl . 'page=1" class="first">1 ...</a></li>' : '') . ($curpage > 1 && ! $simple ? '<li><a href="' . $mpurl . 'page=' . ($curpage - 1) . '" class="prev">上一页</a></li>' : '');
for($i = $from; $i <= $to; $i ++) {
$multipage .= $i == $curpage ? '<li class=currentPage>' . $i . '</li>' : '<li><a href="' . $mpurl . 'page=' . $i . '">' . $i . '</a></li>';
}
$multipage .= ($curpage < $pages && ! $simple ? '<li><a href="' . $mpurl . 'page=' . ($curpage + 1) . '">下一页</a></li><li><a href="' . $mpurl . 'page=' . $pages . '" class="next">末页</a></li>' : '') . ($to < $pages ? '<li><a href="' . $mpurl . 'page=' . $pages . '" class="last">... ' . $realpages . '</a></li>' : '') . (! $simple && $pages > $page && 0 > 1 ? '<input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=\'' . $mpurl . 'page=\'+this.value; return false;}" />' : '');
$multipage = $multipage ? $multipage . (! $simple ? '<li>共 ' . $pages . ' 页' . $num . ' 条</li>' : '') : '';
/* }*/
return $multipage;
}
使用方法
$max = $dsql->ExecuteNoneQuery2 ( $sql ); //返回一个总数结果
//分页
$tpp = "4";
$realpages = @ceil ( $max / $tpp );
if ($page > $realpages) {
$page = $realpages;
}
$para = "?mtype=0&uid=$uid&action=mybidding"; //地址
$page = isset ( $page ) ? max ( 1, intval ( $page ) ) : 1;
$start_limit = ($page - 1) * $tpp;
$url = 'index.php' . $para;
$multipage = ListMulti ( $max, $tpp, $page, $url );
//$sql.= $limitsql . $start_limit . ',' . $tpp;
echo $multipage; //输出分页