从前分析过DISCUZ的分页函数,感觉非常好!
———————————-DESCRIPTION——————————————————-
写了个PHP分页函数,
最近考试考的好烦,上午刚考完四级….还有其他好几科都没考呢,平时光坐在电脑前code了,考前得抱下佛脚了…..所以最近就没怎么学习过PHP,只是在写我的
ajax+php留言本 ,不过主要是在学习
js,哈哈…..
PHP代码
- <?
- 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;
- }
- }
- return $page_val;
- }
- //echo page(6,3,3,’page.php’);
- ?>
写的比较仓促,发现错误请及时提出,谢谢!~
转载于:https://blog.51cto.com/zzjnet/80797