php搜尋條件分頁;將條件匯入分頁

來源:互聯網
上載者:User

之前使用者thinkphp 做分頁遇到一些分頁問題;搜尋時將搜尋條件帶入分頁:

 
 $map['article_title'] = urldecode($_GET['article_title']);$date_sosuo['article_title'] = array('like','%'.$map['article_title'].'%');$count  = $article->where($date_sosuo)->count();  //總條數$Page   = new Page($count,10);// 執行個體化分頁類 傳入總記錄數和每頁顯示的記錄數 foreach($map as $key=>$val){$Page->parameter.="$key=".urlencode($val)."&";}        $show   = $Page->show(); // 分頁顯示輸出$this->assign('page',$show); // 賦值分頁輸出         $list= $article->where($date_sosuo)->order("article_sort")->limit($Page->firstRow.','.$Page->listRows)->select();

 

 

這樣做能成功;

但是我在頁面做一些交付的時候很麻煩;所有自己就寫了一個php原生的分頁帶入條件;

 

 

 public function index(){$client = M('clients'); //客戶表//搜尋條件$where = '';if($_GET['clients_state']){$page_w['clients_state'] = urldecode($_GET['clients_state']);$where['clients_state'] = array('like','%'.$page_w['clients_state'].'%');}if($_GET['clients_name']){$page_w['clients_name'] = urldecode($_GET['clients_name']);$where['clients_name'] = array('like','%'.$page_w['clients_name'].'%');}if($_GET['clients_phone']){$page_w['clients_phone'] = urldecode($_GET['clients_phone']);$where['clients_phone'] = array('like','%'.$page_w['clients_phone'].'%');}$where['clients_qiandan_time'] = array('lt','3600');$name_z = '';foreach($page_w as $ke=>$val){$name_z .= $ke.'='.$val.'&';}$count = $client->field('clients_id,clients_name,clients_phone')->where($where)->count();$Page_size = 10;  //分頁條數$page_count = ceil($count/$Page_size); //總頁數$init = 1;$page_len = 5;    //顯示頁碼數$max_p = $page_count; //最大頁數$pages = $page_count; //總頁數//判斷當前頁碼 if(empty($_GET['page'])||$_GET['page']<0){$page=1; }else { $page=$_GET['page']; }$page_len = ($page_len%2)?$page_len:$pagelen+1;  //頁碼個數 $pageoffset = ($page_len-1)/2;  //頁碼個數左右位移量$offset = $Page_size*($p-1); $result = $client->field('clients_id,clients_name,clients_phone')->limit($offset,$Page_size)->where($where)->select();foreach($result as $v){echo $v['clients_name'].'<br/>';}echo '<br/>';$page_page = '';//1、得到 總頁數 $pages 、 每頁數 $Page_size、 顯示頁數 $page_len$page_page .= "$page/$pages 頁";if($page!=1){   //將條件帶入分頁$key.="<a class='paging' href=\"".$_SERVER['PHP_SELF']."?".$name_z."page=".($page-1)."\">上一頁</a>"; //上一頁 }else {$key.=" 上一頁 "; //上一頁 }if($pages>$page_len){ //如果當前頁小於等於左位移 if($page<=$pageoffset){ $init=1; $max_p = $page_len; }else{//如果當前頁大於左位移 //如果當前頁碼右位移超出最大分頁數 if($page+$pageoffset>=$pages+1){ $init = $pages-$page_len+1; }else{ //左右位移都存在時的計算 $init = $page-$pageoffset; $max_p = $page+$pageoffset; }}}//輸出頁碼for($i=$init;$i<=$max_p;$i++){ if($i==$page){ $key.=' <span>'.$i.'</span>'; } else {    //將條件帶入分頁$key.=" <a class='paging' href=\"".$_SERVER['PHP_SELF']."?".$name_z."page=".$i."\">".$i."</a>"; } }if($page!=$pages){    //將條件帶入分頁$key.=" <a class='paging' href=\"".$_SERVER['PHP_SELF']."?".$name_z."page=".($page+1)."\">下一頁</a> ";//下一頁 }else { $key.=" 下一頁 ";//下一頁}echo $key; //輸出分頁}

輸出效果

使用原生的分頁,感覺速速快一點;也好用一點。

個人觀點,勿噴。。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.