Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP简易分页代码实现

PHP简易分页代码实现

WBOY
WBOYasal
2016-06-20 13:04:301057semak imbas

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 />    }


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn