是我最近写论坛的时候,把以前的分页函数包装了一下,例 在下页
/////////////////分页函数/////////////////////////////
class page_num
{
var $pagestat = 0;
var $pagemenu = '';
var $tem='';
function add_var($arr) {
foreach ($arr as $k=>$v){
if($v)
$this->tem .= "$k=$v&";
}
}
function page_menu($total_file,$recnum=20) {
global $_GET,$PHP_SELF;
if (isset($_GET["p"])) $p = $_GET["p"];
if ($total_file % $recnum ==0)
$totalnum = intval (($total_file) / $recnum); //如果此处错误,没传值过来,看看 $_GEI 和 $_POST
else
$totalnum = intval (($total_file) / $recnum)+1;
$listnum = 10;
$pagenum = $p;
if(!$p){$pagenum = 1; $p = 1;}
$this->pagestat=($p-1)*$recnum;
if($p > $listnum) {
if ($p == 1) {
$fenye.= "n";
}
else {
$PrevPage = $p-1;
$fenye.= "<a href=$PHP_SELF?".$this->tem."p=1 title=首页>[1]</a>n";
}
}
$term = $listnum;$f = 1;$l = $term;while ($f <= $totalnum) {
if (($f <= $p) && ($p <= $l)) {
$prevp = $f - 1;
if ($prevp > 0) {
$fenye.= "<a href=$PHP_SELF?".$this->tem."p=$prevp title="前 $listnum页">[Prev]</a>-";
}
else {
$fenye.= "n";
}
if ($l <= $totalnum) {
for ($page = $f; $page <= $l; $page++) {
if ($page == $p) {
$fenye.= "[<font color=red title=当前页>$page</font>]";
}
else {
$fenye.= "<a href=$PHP_SELF?".$this->tem."&p=$page title=$page页>[$page]</a>";
}
}
}
else {
for ($page = $f; $page <= $totalnum; $page++) {
if ($page == $p) {
$fenye.= "[<font color=red title=当前页>$page</font>]";
}
else {
$fenye.= "<a href=$PHP_SELF?".$this->tem."p=$page title=$page页>[$page]</a>";
}
}
}
$nextp = $l + 1;
if ($nextp <= $totalnum) {
$fenye.= "-<a href=$PHP_SELF?".$this->tem."&p=$nextp title="后 $listnum页">[Next]</a>";
}
else {
$fenye.= "";
}
}
$f = $f + $term;
$l = $l + $term;
}
if($nextp <= $totalnum){
$fenye.= "<a href=$PHP_SELF?".$this->tem."&p=$totalnum title=尾页>[$totalnum]</a>n";
}
$this->pagemenu=$fenye;
}
}