1、查手册printf
2、弄懂mysql的limit后,剩下的就是一些逻辑判断了。

解决方案 »

  1.   

    给你一个分页函数,
    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;
    }
      

  2.   

    上面那个没说明参数列表不好意思,没办法修改原帖了,在发一个只能
    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;
    }
      

  3.   

    分页就是利用limit * ,* 来实现的.
    这前把总纪录数算一下就ok了.
    好一点的学生都可以在读书时解决.
    然后上班后,好好的写个可复用的,也就差不多了.