php中关于分页的问题 1、查手册printf2、弄懂mysql的limit后,剩下的就是一些逻辑判断了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个分页函数,function page($page_num,$cur_page,$per_group,$base_url){ //分页函数 $base_url .= strpos($base_url, '?') ? '&' : '?'; $page_val = ""; if ($page_num < 1) { return $page_val; } elseif($page_num == 1) { return $page_val = 1; } $group_ok = !(($page_num-1)%($per_group-1)); //计算一共有多少组 if($group_ok) { $group_num = ($page_num-1)/($per_group-1); } else { $group_num = ceil(($page_num-1)/($per_group-1)); } //判断当前页是否为一组的最后一个 $is_last_page = !(($cur_page-1)%($per_group-1)); //计算当前在的组数 if($is_last_page) { $cur_group = ($cur_page-1)/($per_group-1) + 1; } else { $cur_group = ceil(($cur_page-1)/($per_group-1)); } //计算显示的起始页 $from = ($cur_group - 1) * ($per_group-1) + 1; $from = $cur_group <= 1 ? 1 :$from; $to = $from + $per_group; $to = $to > $page_num ? $page_num + 1 : $to; for($a = $from; $a < $to; $a++){ if( $a != $cur_page) { $page_val .= '<a href ='.$base_url.'page='.$a.'>'.$a.'</a>'; } else { $page_val .= $a; } } //上一页下一页首页尾页 $next=$cur_page+1; $prev=$cur_page-1; if ($cur_page!=$page_num) { $page_val.='<a href ='.$base_url.'page='.$next.'>'.'下一页'.'</a>'; $page_val .= '<a href ='.$base_url.'page='.$page_num.'>'.'>>'.'</a>'; //尾页 } if ($cur_page!=1) { $page_val = '<a href ='.$base_url.'page='.$prev.'>'.'上一页'.'</a>'.$page_val; $page_val = '<a href ='.$base_url.'page=1>'.'<<'.'</a>'.$page_val; //首页 } return $page_val;} 上面那个没说明参数列表不好意思,没办法修改原帖了,在发一个只能function page($page_num,$cur_page,$per_group,$base_url){ //分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址) $base_url .= strpos($base_url, '?') ? '&' : '?'; $page_val = ""; if ($page_num < 1) { return $page_val; } elseif($page_num == 1) { return $page_val = 1; } $group_ok = !(($page_num-1)%($per_group-1)); //计算一共有多少组 if($group_ok) { $group_num = ($page_num-1)/($per_group-1); } else { $group_num = ceil(($page_num-1)/($per_group-1)); } //判断当前页是否为一组的最后一个 $is_last_page = !(($cur_page-1)%($per_group-1)); //计算当前在的组数 if($is_last_page) { $cur_group = ($cur_page-1)/($per_group-1) + 1; } else { $cur_group = ceil(($cur_page-1)/($per_group-1)); } //计算显示的起始页 $from = ($cur_group - 1) * ($per_group-1) + 1; $from = $cur_group <= 1 ? 1 :$from; $to = $from + $per_group; $to = $to > $page_num ? $page_num + 1 : $to; for($a = $from; $a < $to; $a++){ if( $a != $cur_page) { $page_val .= '<a href ='.$base_url.'page='.$a.'>'.$a.'</a>'; } else { $page_val .= $a; } } //上一页下一页首页尾页 $next=$cur_page+1; $prev=$cur_page-1; if ($cur_page!=$page_num) { $page_val.='<a href ='.$base_url.'page='.$next.'>'.'下一页'.'</a>'; $page_val .= '<a href ='.$base_url.'page='.$page_num.'>'.'>>'.'</a>'; //尾页 } if ($cur_page!=1) { $page_val = '<a href ='.$base_url.'page='.$prev.'>'.'上一页'.'</a>'.$page_val; $page_val = '<a href ='.$base_url.'page=1>'.'<<'.'</a>'.$page_val; //首页 } return $page_val;} 分页就是利用limit * ,* 来实现的.这前把总纪录数算一下就ok了.好一点的学生都可以在读书时解决.然后上班后,好好的写个可复用的,也就差不多了. linux下shell的问题 变量传递问题,高手解决!谢谢! php表单传值上传数据库问题??? IE6下的兼容问题 关于循环表单重名提交更新~提问~谢谢大家 session取不到值问题 php文件有错误的话为什么会显示无法打开链接的错误提示(404) window.onload到底是在什么东西加载完? preg_match的问题 请问 Php能不能调用Asp.Net的组件呢? phpcms 新人 提问 请问如何让apache2.2下的shtml文件支持<!--#exec cgi="文件路径"-->啊
function page($page_num,$cur_page,$per_group,$base_url){ //分页函数 $base_url .= strpos($base_url, '?') ? '&' : '?'; $page_val = ""; if ($page_num < 1) {
return $page_val;
} elseif($page_num == 1) {
return $page_val = 1;
} $group_ok = !(($page_num-1)%($per_group-1)); //计算一共有多少组
if($group_ok) {
$group_num = ($page_num-1)/($per_group-1);
} else {
$group_num = ceil(($page_num-1)/($per_group-1));
} //判断当前页是否为一组的最后一个
$is_last_page = !(($cur_page-1)%($per_group-1)); //计算当前在的组数
if($is_last_page) {
$cur_group = ($cur_page-1)/($per_group-1) + 1;
} else {
$cur_group = ceil(($cur_page-1)/($per_group-1));
} //计算显示的起始页
$from = ($cur_group - 1) * ($per_group-1) + 1;
$from = $cur_group <= 1 ? 1 :$from;
$to = $from + $per_group;
$to = $to > $page_num ? $page_num + 1 : $to; for($a = $from; $a < $to; $a++){
if( $a != $cur_page) {
$page_val .= '<a href ='.$base_url.'page='.$a.'>'.$a.'</a>';
} else {
$page_val .= $a;
}
} //上一页下一页首页尾页
$next=$cur_page+1;
$prev=$cur_page-1;
if ($cur_page!=$page_num) {
$page_val.='<a href ='.$base_url.'page='.$next.'>'.'下一页'.'</a>';
$page_val .= '<a href ='.$base_url.'page='.$page_num.'>'.'>>'.'</a>'; //尾页
}
if ($cur_page!=1) {
$page_val = '<a href ='.$base_url.'page='.$prev.'>'.'上一页'.'</a>'.$page_val;
$page_val = '<a href ='.$base_url.'page=1>'.'<<'.'</a>'.$page_val; //首页
} return $page_val;
}
function page($page_num,$cur_page,$per_group,$base_url){ //分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址) $base_url .= strpos($base_url, '?') ? '&' : '?'; $page_val = ""; if ($page_num < 1) {
return $page_val;
} elseif($page_num == 1) {
return $page_val = 1;
} $group_ok = !(($page_num-1)%($per_group-1)); //计算一共有多少组
if($group_ok) {
$group_num = ($page_num-1)/($per_group-1);
} else {
$group_num = ceil(($page_num-1)/($per_group-1));
} //判断当前页是否为一组的最后一个
$is_last_page = !(($cur_page-1)%($per_group-1)); //计算当前在的组数
if($is_last_page) {
$cur_group = ($cur_page-1)/($per_group-1) + 1;
} else {
$cur_group = ceil(($cur_page-1)/($per_group-1));
} //计算显示的起始页
$from = ($cur_group - 1) * ($per_group-1) + 1;
$from = $cur_group <= 1 ? 1 :$from;
$to = $from + $per_group;
$to = $to > $page_num ? $page_num + 1 : $to; for($a = $from; $a < $to; $a++){
if( $a != $cur_page) {
$page_val .= '<a href ='.$base_url.'page='.$a.'>'.$a.'</a>';
} else {
$page_val .= $a;
}
} //上一页下一页首页尾页
$next=$cur_page+1;
$prev=$cur_page-1;
if ($cur_page!=$page_num) {
$page_val.='<a href ='.$base_url.'page='.$next.'>'.'下一页'.'</a>';
$page_val .= '<a href ='.$base_url.'page='.$page_num.'>'.'>>'.'</a>'; //尾页
}
if ($cur_page!=1) {
$page_val = '<a href ='.$base_url.'page='.$prev.'>'.'上一页'.'</a>'.$page_val;
$page_val = '<a href ='.$base_url.'page=1>'.'<<'.'</a>'.$page_val; //首页
} return $page_val;
}
这前把总纪录数算一下就ok了.
好一点的学生都可以在读书时解决.
然后上班后,好好的写个可复用的,也就差不多了.