文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php生成翻页链接列表函数

php生成翻页链接列表函数

时间:2008-07-20  来源:flynetcn



/**
* 生成页码列表
*
* @author qifei
* @param int $element_total_count 元素总数
* @param int $current_page 当前页
* @param int $per_page_elem_count 每页元素数
* @param int $show_page_num 列表显示的页码数
* @param string $up_down_class 上下翻页样式
* @param string $num_class 当前页页码数字样式
* @param string $href 页面链接
* @param string $page_symbol 传递页码数的链接参数
* @return string
*/
function get_page_link_list($element_total_count,$current_page=1,$per_page_elem_count=10,$show_page_num=10,$up_down_class,$num_class,$href,$page_symbol='p')
{
    if(empty($href))
    {
        //自动取得剔除页码参数的页面链接
        $page_name = basename($_SERVER['PHP_SELF']);
        $params = $_SERVER['QUERY_STRING'];
        $params_str = '';
        if(!empty($params))
        {
            $params = str_replace('&', '&', $params);
            $params_array = explode('&', $params);
            foreach($params_array as $param)
            {
                if(!empty($param))
                {
                    $index = strpos($param, '=');
                    if($index)
                    {
                        $key = substr($param, 0, $index);
                        if($key && $key != $page_symbol)
                            $params_str .= $param . '&';
                    }
                }
            }
        }
        if(!empty($params_str))
            $href = $page_name . '?' . $params_str;
        else
            $href = $page_name;
        
        $href = rtrim($href,'&');
    }
   
    $prefix = strpos($href,"?") ? "&" : "?";
    $prefix .= $page_symbol;
   
    $page_total_count = ceil($element_total_count/$per_page_elem_count);
    if(intval($element_total_count) 1 || !isset($element_total_count))
    {
        return '';
    }
    if($element_total_count = $per_page_elem_count)
        return '';
    if($current_page>$page_total_count)
        $current_page = 1;
   
    if(strpos($href,"#"))
    {
        $label = substr($href,strpos($href,"#"));
        $href = substr($href,0,strpos($href,"#"));
    }
   
    /* 生成页码 */
    if($current_page > ceil($show_page_num/2))
    {
        $start = $current_page - ceil($show_page_num/2);
        $end = (($current_page+ceil($show_page_num/2))$page_total_count) ?
            $current_page+ceil($show_page_num/2)-1 : $page_total_count;
    }
    else
    {
        $start = 1;
        $end = ($show_page_num>$page_total_count) ? $page_total_count : $show_page_num;
    }
    if(!empty($num_class))
        $num_class_str = ' class="'.$num_class.'"';
    else
        $num_class_str = '';
    $page_num_string = '';
   
    for($i=$start;$i=$end;$i++)
    {
        if(intval($i) == intval($current_page))
            $page_num_string .= '.$num_class_str.'>'.$i.'';
        else
            $page_num_string .= '.$href.$prefix.'='.$i.$label.'">'.$i.'';
    }
   
    /* 上下翻页 */
    $prev_page = (intval($current_page-1)>0)?intval($current_page-1):0;
    $next_page = (intval($current_page)$page_total_count) ? intval($current_page+1) : 0;
    if(!empty($up_down_class))
        $up_down_class_str = ' class="'.$up_down_class.'"';
    else
        $up_down_class_str = '';
   
    $page_up_string = '';
   
    if(intval($prev_page) > 0)
        $page_up_string = '.$href.$prefix.'='.$prev_page.$label.'"'.$up_down_class_str.'>上一页';
    else
        $page_up_string = '.$up_down_class_str.'>上一页';
    $page_down_string = '';
   
    if(intval($next_page) > 0)
        $page_down_string .= '.$href.$prefix.'='.$next_page.$label.'"'.$up_down_class_str.'>下一页';
    else
        $page_down_string .= '.$up_down_class_str.'>下一页';
    /* 返回结果 */
    return $page_up_string . $page_num_string . $page_down_string;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载