PHP简易分页代码实现

WBOY
Release: 2016-06-20 13:04:30
Original
1049 people have browsed it

PHP简易分页代码实现

/**<br />     * @todo 分页<br />     * @param $count 总条数<br />     * @param $pagesize 每页显示条数<br />     * @param $nowpagenum 当前页码<br />     * @return String HTML <br />     * @example<br />     * $count = 45; //数据库查询到的数据总数<br />       $pagesize = 10; //每页展示的条数<br />       $nowpagenum = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1 ; //获取当前的页码,默认没有的时候为1<br />       $page =  $this->PageNum($count, $pagesize ,$nowpagenum);<br />     * <br />     */<br />    public function PageNum($count , $pagesize ,$nowpagenum){<br />        //计算页码<br />        $pagenum = ceil(($count/$pagesize));<br />        /***设定当前页在第一页当时无GET页码时默认为1***/<br />        $nowpagenum = empty($nowpagenum) ? 1 : $nowpagenum;<br />        /*****解析URL******/<br />        $url = $_SERVER['REQUEST_URI'];<br />        $urlArr = explode('?', $url);<br />        if(count($urlArr)==1){<br />            $newurl = $url.'?page=';<br />        }else{<br />            $params = array();<br />            $newurl = '';<br />            $newParams = array();<br />            $paramsArr = explode('&', $urlArr[1]);<br />            if(count($paramsArr)==1){<br />                $getParams = explode('=', $paramsArr[0]);<br />                $params[$getParams[0]] = $getParams[1];<br />                $newurl = $urlArr[0].'?page=';<br />            }else{<br />                for($j=0;$j<count($paramsArr);$j++){<br />                    $getParams = explode('=', $paramsArr[$j]);<br />                    $params[$getParams[0]] = $getParams[1];<br />                }<br />                if(isset($params['page'])){<br />                    unset($params['page']);<br />                    foreach($params as $key=>$value){<br />                        $newParams[] = $key.'='.$value;<br />                    }<br />                    $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';<br />                }else{<br />                    foreach($params as $key=>$value){<br />                        $newParams[] = $key.'='.$value;<br />                    }<br />                    $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';<br />                }<br />            }<br />        }<br />        /****拼装页码显示HTML代码****/<br />        $html='';<br />        if(isset($count) && isset($pagesize)){<br />            //one page <br />            if($count <= $pagesize){<br />                $html = '<span>上一页</span><span>1</span><span>下一页</span>';<br />            //no record<br />            }else if($count == 0){<br />                $html = '暂未记录!';<br />            //大于一页小于等于6页<br />            }else if($count > $pagesize && $pagenum <= 6){<br />                if($nowpagenum==1){<br />                    $html .= '<span>上一页</span>'; <br />                }else{<br />                    $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>'; <br />                }<br />                for($i=1;$i<=$pagenum;$i++){<br />                    if($i==$nowpagenum){<br />                        $html .= '<span>'.$i.'</span>';<br />                    }else{<br />                        $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';<br />                    }<br />                }<br />                if($nowpagenum==$pagenum){<br />                    $html .= '<span>下一页</span>'; <br />                }else{<br />                    $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>'; <br />                }<br />            }else{<br />                if($nowpagenum==1){<br />                    $html .= '<span>上一页</span>'; <br />                }else{<br />                    $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>'; <br />                }<br />                if(($pagenum-$nowpagenum)>5){<br />                    if($nowpagenum<=3){<br />                        for($i=1;$i<=3;$i++){<br />                            if($i==$nowpagenum){<br />                                $html .= '<span>'.$i.'</span>';<br />                            }else{<br />                                $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';<br />                            }<br />                        }<br />                    }else{<br />                        for($i=$nowpagenum-2;$i<=$nowpagenum;$i++){<br />                            if($i==$nowpagenum){<br />                                $html .= '<span>'.$i.'</span>';<br />                            }else{<br />                                $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';<br />                            }<br />                        }<br />                    }<br />                    $html .= '<span>...</span>';<br />                    for($j=$pagenum-2;$j<=$pagenum;$j++){<br />                        if($j==$nowpagenum){<br />                            $html .= '<span>'.$j.'</span>';<br />                        }else{<br />                            $html .= '<span><a href="'.$newurl.''.$j.'">'.$j.'</a></span>';<br />                        }<br />                    }<br />                }else{<br />                    for($i=$pagenum-5;$i<=$pagenum;$i++){<br />                        if($i==$nowpagenum){<br />                            $html .= '<span>'.$i.'</span>';<br />                        }else{<br />                            $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';<br />                        }<br />                    }<br />                }<br />                if($nowpagenum==$pagenum){<br />                    $html .= '<span>下一页</span>'; <br />                }else{<br />                    $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>'; <br />                }<br />            }<br />        }<br />        return $html;<br />    }
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!