程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP簡易分頁代碼實現

PHP簡易分頁代碼實現

編輯:PHP綜合
  /**
  * @todo 分頁
  * @param $count 總條數
  * @param $pagesize 每頁顯示條數
  * @param $nowpagenum 當前頁碼
  * @return String HTML
  * @example
  * $count = 45; //數據庫查詢到的數據總數
  $pagesize = 10; //每頁展示的條數
  $nowpagenum = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1 ; //獲取當前的頁碼,默認沒有的時候為1
  $page =  $this->PageNum($count, $pagesize ,$nowpagenum);
  *
  */
  public function PageNum($count , $pagesize ,$nowpagenum){
  //計算頁碼
  $pagenum = ceil(($count/$pagesize));
  /***設定當前頁在第一頁當時無GET頁碼時默認為1***/
  $nowpagenum = empty($nowpagenum) ? 1 : $nowpagenum;
  /*****解析URL******/
  $url = $_SERVER['REQUEST_URI'];
  $urlArr = explode('?', $url);
  if(count($urlArr)==1){
  $newurl = $url.'?page=';
  }else{
  $params = array();
  $newurl = '';
  $newParams = array();
  $paramsArr = explode('&', $urlArr[1]);
  if(count($paramsArr)==1){
  $getParams = explode('=', $paramsArr[0]);
  $params[$getParams[0]] = $getParams[1];
  $newurl = $urlArr[0].'?page=';
  }else{
  for($j=0;$j<count($paramsArr);$j++){
  $getParams = explode('=', $paramsArr[$j]);
  $params[$getParams[0]] = $getParams[1];
  }
  if(isset($params['page'])){
  unset($params['page']);
  foreach($params as $key=>$value){
  $newParams[] = $key.'='.$value;
  }
  $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';
  }else{
  foreach($params as $key=>$value){
  $newParams[] = $key.'='.$value;
  }
  $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';
  }
  }
  }
  /****拼裝頁碼顯示HTML代碼****/
  $html='';
  if(isset($count) && isset($pagesize)){
  //one page
  if($count <= $pagesize){
  $html = '<span>上一頁</span><span>1</span><span>下一頁</span>';
  //no record
  }else if($count == 0){
  $html = '暫未記錄!';
  //大於一頁小於等於6頁
  }else if($count > $pagesize && $pagenum <= 6){
  if($nowpagenum==1){
  $html .= '<span>上一頁</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一頁</a></span>';
  }
  for($i=1;$i<=$pagenum;$i++){
  if($i==$nowpagenum){
  $html .= '<span>'.$i.'</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
  }
  }
  if($nowpagenum==$pagenum){
  $html .= '<span>下一頁</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一頁</a></span>';
  }
  }else{
  if($nowpagenum==1){
  $html .= '<span>上一頁</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一頁</a></span>';
  }
  if(($pagenum-$nowpagenum)>5){
  if($nowpagenum<=3){
  for($i=1;$i<=3;$i++){
  if($i==$nowpagenum){
  $html .= '<span>'.$i.'</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
  }
  }
  }else{
  for($i=$nowpagenum-2;$i<=$nowpagenum;$i++){
  if($i==$nowpagenum){
  $html .= '<span>'.$i.'</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
  }
  }
  }
  $html .= '<span>...</span>';
  for($j=$pagenum-2;$j<=$pagenum;$j++){
  if($j==$nowpagenum){
  $html .= '<span>'.$j.'</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.$j.'">'.$j.'</a></span>';
  }
  }
  }else{
  for($i=$pagenum-5;$i<=$pagenum;$i++){
  if($i==$nowpagenum){
  $html .= '<span>'.$i.'</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';
  }
  }
  }
  if($nowpagenum==$pagenum){
  $html .= '<span>下一頁</span>';
  }else{
  $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一頁</a></span>';
  }
  }
  }
  return $html;
  } *
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved