php ci 分頁

paging.php 頁面
主要向這個頁面傳入三個參數
1.
$pageSize 每一個頁面要顯示多少條數據
2
$page第幾頁
3.
$total庫裏裏總條數
<style >
    .pageview{width:570px; margin: 40px auto; margin-right:409px;padding: 10px 0px;}
    .pageview{width:570px; margin: 0;}
    .pageview {padding: 12px 0;text-align: center ;line-height: 17px;}
    .pageview a{text-decoration: none;}
    .pageview .link {display: inline-block;padding: 0 10px;padding-top:9px;color: #fff;background-color:#3D75B8;border-radius: 3px;height: 27px;margin: 0 0 2px 3px;border: 0;cursor: pointer}
    .pageview .hover,.pageview a.link:hover {background-color: #00adc6 ; }
    .pageview .nub input {width: 55px;text-align: center;font: 700 12px/25px Arial;border: 1px solid #ddd;background-color: #fff; margin: 0 5px;}
    .bigtit,.bigtit .h2,.rastbox .h2 { line-height: 40px  }
    .pageview span.link { background-color: #3D75B8; color: #fff; cursor: not-allowed}
</style>
<?php
$pageSize = $Pages_item['pagesize'];//每一頁要顯示的條數()
$page = $Pages_item['pages'];//獲取第幾頁
$varable = $Pages_item['varable'];//傳回varable變量是count(id)
$total=$Pages_item[0][$varable];//總頁數

//var_dump($total);

//顯示頁碼
$showPage=5;

//計算頁數
$total_pages =ceil($total/$pageSize);// 函數向上舍入爲最接近的整數。計算共有多少頁。
/**3顯示數據+分頁條**/
//計算偏移量

$pageoffset=($showPage-1)/2;

$page_banner="<div class='pageview' >";
//判斷是否是第一頁,如果是第一頁的話這兩個按鈕可點擊,否則不可點擊
if($page > 1){
    $page_banner.="<a href='".$Pages_item[ 'pageUrl']."1 '' class='prev-link link' style=\"color:#fff;width:47px;\">首頁</a>";
    $page_banner.="<a href='".$Pages_item[ 'pageUrl'].($page-1)."' class='prev-link link' style=\"color:#fff;width:56px;\">上一頁</a>";
}
else{
    $page_banner.="<span class='prev-link link' style=\"width:47px;\"> <a style=\"color:#fff;\">首頁</a></span>";
    $page_banner.="<span class='prev-link link' > <a style=\"color:#fff;\">上一頁</a></span>";
}

//初始化數據
$start=1;
$end = $total_pages;

//只有在總頁碼數大於要展示的頁碼個數時纔會執行
if($total_pages >$showPage)
{
    if($page >$pageoffset+1)
    {
        $page_banner.="...";
    }
    //當頁數大於2頁時初始化開始與結束的頁碼
    if($page > $pageoffset)
    {
        $start =$page - $pageoffset;
        $end=$total_pages > $page+$pageoffset ? $page+$pageoffset :$total_pages;
    }
    //當頁碼小於3時初始化開始與結束的頁碼
    else
    {
        $start=1;
        $end=$total_pages > $showPage ? $showPage : $total_pages;
    }
    if($page + $pageoffset > $total_pages){
        $start=$start-($page+$pageoffset-$end);
    }
}
//循環輸出中間顯示的頁碼
    for($i=$start;$i<=$end;$i++)
    {
         //定義當前頁不可點擊
        if($page==$i)
        {
        $page_banner.="<span class ='link'>$i</span>";
         }
         else
         {
            $page_banner.="<a href='".$Pages_item[ 'pageUrl'].$i."' class='link' style=\"width:10px;\">$i</a>";
         }
    }
        //頁碼數大於要顯示的頁碼數時顯示省略號
     if($total_pages>$showPage&&$total_pages>$page+$pageoffset)
     {
          $page_banner.="...";
     }
    //判斷是否達到最後一頁
     if($page <$total_pages)
     {
    $page_banner.="<a href='".$Pages_item[ 'pageUrl'].($page+1)."' class='link next' style=\"width:56px;color:#fff;\">下一頁</a>";
    $page_banner.="<a href='".$Pages_item[ 'pageUrl'].($total_pages)."' class='link next' style=\"width:47px;color:#fff;\">尾頁</a>";
      }
      else
      {
    $page_banner.="<span class ='link next'> <a style=\"color:#fff;\">尾頁</a></span>";
    $page_banner.="<span class ='link next'> <a style=\"color:#fff;\">下一頁</a></span>";
      }
        $page_banner.="<p style=\"margin:-29px 0 0 510px; width:40px;border:1px solid #3D75B8;height:25px;vertical-align:middle;\">共{$total_pages}頁</p></div></center>";
       echo $page_banner;
?>
</div>

向paging。php頁面傳入數據的方法
 public function sharePublish($pages){
        error_reporting(0);
        if(empty($pages)||$pages<0){
            $page=1;
        }else {
            $page=$pages;
        }

        $data['Share_item']=$this->huodong_model->getAll_huodong_all($pages);//查詢數據的方法傳入頁面數據
        $data['Pages_item'] = $this->huodong_model->get_huodong_Count();//獲取總頁數
      //  var_dump($data);
        //當前的頁碼s
        $data['Pages_item']['varable'] = 'count(id)';

       // var_dump($data);
        $data['Pages_item']['pages'] =$pages;
        
//每頁顯示的數據數目
$data['Pages_item']['pagesize'] = 10;
 
$data['Pages_item']['pageUrl']="index.php/huodong/sharePublish/"; // var_dump($data); $this->load->view('home/huodongOperte',$data); }

查詢數據庫的方法
 public function getAll_huodong_all($page){

        $sql="select * from  new_activity   ORDER BY id desc limit ".($page-1)*10 .",10";
        $query = $this->db->query($sql);
        return $query->result_array();
    }
    //獲取所有活動條數
    public function get_huodong_Count()
    {
        $sql="select count(id) from new_activity ";
        $query = $this->db->query($sql);
        return $query->result_array();

    }










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章