站長資訊網
        最全最豐富的資訊網站

        CI框架簡單分頁類

        CI框架簡單分頁類

        本文實例講述了CI框架簡單分頁類用法。分享給大家供大家參考,具體如下:

        /**   *   * 關于 頁碼有效性的判斷需要加在 控制器中判斷,即當頁碼數<1或者>總頁數   *   */  class Custom_pagination  {    var $page_url = ''; //分頁目標URL    var $page_size = 10; //每一頁行數    var $page_num = 1;//頁碼    var $rows_num= '';//數據總行數    var $links_num= 3;//選中鏈接前后的鏈接數,必須大于等于1      var $anchor_class= '';//鏈接樣式類    var $current_class= '';//當前頁樣式類    var $full_tag_open= '';//分頁開始標簽    var $full_tag_close= '';//分頁結束標簽    var $info_tag_open= '';    var $info_tag_close= ' ';    var $first_tag_open= '';    var $first_tag_close= ' ';    var $last_tag_open= ' ';    var $last_tag_close= '';    var $cur_tag_open= ' <strong>';    var $cur_tag_close= '</strong>';    var $next_tag_open= ' ';    var $next_tag_close= ' ';    var $prev_tag_open= ' ';    var $prev_tag_close= '';    var $num_tag_open= ' ';    var $num_tag_close= '';      public function __construct($params = array())    {      if (count($params) > 0)      {        $this->init($params);      }    }       function init($params = array()) //初始化數據    {      if (count($params) > 0)      {        foreach ($params as $key => $val)        {          if (isset($this->$key))          {            $this->$key = $val;          }        }      }    }       function create_links()    {      ///////////////////////////////////////////////////////      //準備數據      ///////////////////////////////////////////////////////      $page_url = $this->page_url;      $rows_num = $this->rows_num;      $page_size = $this->page_size;      $links_num = $this->links_num;        if ($rows_num == 0 OR $page_size == 0)      {        return '';      }        $pages = intval($rows_num/$page_size);      if ($rows_num % $page_size)      {        //有余數pages+1        $pages++;      };      $page_num = $this->page_num < 1 ? '1' : $this->page_num;        $anchor_class = '';      if($this->anchor_class !== '')      {        $anchor_class = 'class="'.$this->anchor_class.'" ';      }        $current_class = '';      if($this->current_class !== '')      {        $current_class = 'class="'.$this->current_class.'" ';      }      if($pages == 1)      {        return '';      }      if($links_num < 0)      {        return '- -!links_num必須大于等于0';      }      ////////////////////////////////////////////////////////      //創建鏈接開始      ////////////////////////////////////////////////////////      $output = $this->full_tag_open;      $output .= $this->info_tag_open.'共'.$rows_num.'條數據 第 '.$page_num.'/'.$pages.' 頁'.$this->info_tag_close;      //首頁      if($page_num > 1)      {        $output .= $this->first_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url).'" rel="external nofollow" >首頁</a>'.$this->first_tag_close;      }      //上一頁      if($page_num > 1)      {        $n = $page_num - 1;        $output .= $this->prev_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$n).'" rel="external nofollow" rel="external nofollow" >上一頁</a>'.$this->prev_tag_close;      }      //pages      for($i=1;$i<=$pages;$i++)      {        $pl = $page_num - $links_num < 0 ? 0 : $page_num - $links_num;        $pr = $page_num + $links_num > $pages ? $pages : $page_num + $links_num;        //判斷鏈接個數是否太少,舉例,假設links_num = 2,則鏈接個數不可少于 5 個,主要是 當page_num 等于 1, 2 和 n,n-1的時候        if($pr < 2 * $links_num + 1)        {          $pr = 2 * $links_num + 1;        }        if($pl > $pages-2 * $links_num)        {          $pl = $pages - 2 * $links_num;        }        if($i == $page_num)        {  //current page          $output .= $this->cur_tag_open.'<span '.$current_class.' >'.$i.'</span>'.$this->cur_tag_close;        }else if($i >= $pl && $i <= $pr)        {          $output .= $this->num_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$i).'" rel="external nofollow" >'.$i.'</a>'.$this->num_tag_close;        }      }      //下一頁      if($page_num < $pages)      {        $n = $page_num + 1;        $output .= $this->next_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$n).'" rel="external nofollow" rel="external nofollow" >下一頁</a>'.$this->next_tag_close;      }      //末頁      if($page_num < $pages)      {        $output .= $this->last_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$pages).'" rel="external nofollow" >末頁</a>'.$this->last_tag_close;      }        $output.=$this->full_tag_close;      return $output;    }  }

        控制器里調用

        $config['page_url']  = 'about/science';  $config['page_size'] = $pagesize;  $config['rows_num'] = $num_rows;  $config['page_num'] = $page;  $this->load->library('Custom_pagination');  $this->custom_pagination->init($config);  echo $this->custom_pagination->create_links();

        <?php  class page{        public $page; //當前頁    public $pagenum; // 頁數    public $pagesize; // 每頁顯示條數    public function __construct($count, $pagesize){      $this->pagenum = ceil($count/$pagesize);      $this->pagesize = $pagesize;      $this->page =(isset($_GET['p'])&&$_GET['p']>0) ? intval($_GET['p']) : 1;    }    /**     * 獲得 url 后面GET傳遞的參數     */     public function getUrl(){        $url = 'index.php?'.http_build_query($_GET);      $url = preg_replace('/[?,&]p=(w)+/','',$url);      $url .= (strpos($url,"?") === false) ? '?' : '&';      return $url;    }    /**     * 獲得分頁HTML     */    public function getPage(){      $url = $this->getUrl();      $start = $this->page-5;      $start=$start>0 ? $start : 1;       $end  = $start+9;      $end = $end<$this->pagenum ? $end : $this->pagenum;      $pagestr = '';      if($this->page>5){        $pagestr = "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=1".">首頁</a> ";      }      if($this->page!=1){        $pagestr.= "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".($this->page-1).">上一頁</a>";      }            for($i=$start;$i<=$end;$i++){        $pagestr.= "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".$i.">".$i."</a> ";                 }      if($this->page!=$this->pagenum){        $pagestr.="<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".($this->page+1).">下一頁</a>";              }      if($this->page+5<$this->pagenum){        $pagestr.="<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".$this->pagenum.">尾頁</a> ";      }      return $pagestr;      }      }  // 測試代碼  $page = new page(100,10);  $str=$page->getPage();  echo $str;  ?>

        推薦教程:《PHP》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品福利在线播放| 1000部精品久久久久久久久| 亚洲AV无码久久精品色欲| www夜片内射视频日韩精品成人| 亚洲精品无码av人在线观看| 国产精品99| 国产福利在线观看精品| 亚洲国产91精品无码专区| 国产呦小j女精品视频| 午夜精品美女自拍福到在线| 亚洲αv在线精品糸列| 精品国产污污免费网站入口| 老司机国内精品久久久久| 国产精品亚洲A∨天堂不卡| 中文字幕精品亚洲无线码一区| 国产综合免费精品久久久| 午夜精品成年片色多多| 99久久精品国内| 精品国产精品国产偷麻豆| 四虎亚洲国产成人久久精品| 国产精品免费在线播放| 91精品免费久久久久久久久| 久久国产免费观看精品| 9久久9久久精品| 国产成人精品AA毛片| 免费欧美精品a在线| 999国内精品永久免费视频| 久久国产精品99国产精| 乱码精品一区二区三区| 亚洲AV乱码久久精品蜜桃| 野狼精品社区| 日本精品自产拍在线观看中文| 精品国产一区二区22| 国产精品视频九九九| 国产精品玖玖美女张开腿让男人桶爽免费看 | 国产精品无套内射迪丽热巴| 一本一本久久a久久综合精品蜜桃 一本一道精品欧美中文字幕 | 成人精品视频一区二区三区| 97久久久精品综合88久久| 凹凸国产熟女精品视频app| 国产精品一久久香蕉国产线看观看|