//分页
function multi($num, $perpage, $curpage, $mpurl) {
global $_SCONFIG = array();
$page = 5;
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
$realpages = 1;
if($num > $perpage) {
$offset = 2;
$realpages = @ceil($num / $perpage);
$pages = $_SCONFIG['maxpage'] && $_SCONFIG['maxpage'] < $realpages ? $_SCONFIG['maxpage'] : $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 = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first">1 ...</a>' : '').
($curpage > 1 ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev">‹‹</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
'<a href="'.$mpurl.'page='.$i.'">'.$i.'</a>';
}
$multipage .= ($curpage < $pages ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next">››</a>' : '').
(0 && $to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last">... '.$realpages.'</a>' : '');
$multipage = $multipage ? '<div class="pages">'.'<em> '.$num.' </em>'.$multipage.'</div>' : '';
}
$maxpage = $realpages;
return $multipage;
}
麻烦帮我翻译成coldfusion谢谢了。
------最佳解决方案--------------------------------------------------------
还是没有经过测试的。因为使用的电脑没有安装coldfusion。电脑太老了。
<cffunction name="multi">
<cfparam name="num" default="0">
<cfparam name="perpage" default="0">
<cfparam name="current" default="0">
<cfparam name="mpurl" default="0">
<cfset var page = 5>
<cfset var multipage = "">
<cfset mpurl = mpurl & iif(find("?",mpurl) gt 0, de("&"), de("?"))>
<cfset var realpages = 1>
<cfif num gt perpage>
<cfset var offset = 2>
<cfset var realpages = ceiling(num / perpage)>
<!---
我使用request.SCONFIG代替你的global _SCONFIG,
而且由数组改为structure。