PHP基於數組的分頁函數(核心函數array_slice())

來源:互聯網
上載者:User

標籤:

/** * 數組分頁函數  核心函數  array_slice * 用此函數之前要先將資料庫裡面的所有資料按一定的順序查詢出來存入數組中 * $count   每頁多少條資料 * $page   當前第幾頁 * $array   查詢出來的所有數組 * order 0 - 不變     1- 反序 */ function page_array($count,$page,$array,$order){       global $countpage; #定全域變數    $page=(empty($page))?‘1‘:$page; #判斷當前頁面是否為空白 如果為空白就表示為第一頁面        $start=($page-1)*$count; #計算每次分頁的開始位置    if($order==1){      $array=array_reverse($array);    }       $totals=count($array);      $countpage=ceil($totals/$count); #計算總頁面數       $pagedata=array();    $pagedata=array_slice($array,$start,$count);       return $pagedata;  #返回查詢資料}/** * 分頁及顯示函數 * $countpage 全域變數,照寫 * $url 當前url */function show_array($countpage,$url){     $page=empty($_GET[‘page‘])?1:$_GET[‘page‘];     if($page > 1){           $uppage=$page-1;     }else{         $uppage=1;     }     if($page < $countpage){           $nextpage=$page+1;     }else{            $nextpage=$countpage;     }               $str=‘<div style="border:1px; width:300px; height:30px; color:#9999CC">‘;    $str.="<span>共  {$countpage}  頁 / 第 {$page} 頁</span>";    $str.="<span><a href=‘$url?page=1‘>   首頁  </a></span>";    $str.="<span><a href=‘$url?page={$uppage}‘> 上一頁  </a></span>";    $str.="<span><a href=‘$url?page={$nextpage}‘>下一頁  </a></span>";    $str.="<span><a href=‘$url?page={$countpage}‘>尾頁  </a></span>";    $str.=‘</div>‘;    return $str;}測試:$arrTr = array(        0=>array(1,‘張三‘,‘100.00‘,‘新手‘,‘1988-06-12‘),        1=>array(2,‘李四‘,‘110.00‘,‘新手‘,‘1989-06-12‘),        2=>array(3,‘王五‘,‘120.00‘,‘新手‘,‘1998-06-12‘),        3=>array(4,‘趙六‘,‘130.00‘,‘新手‘,‘1980-06-12‘),        );        $count = 2;    $page=empty($_GET[‘page‘])?1:$_GET[‘page‘];    $d = page_array($count,$page,$arrTr,0);    foreach($d as $v){        echo $v[0].‘--‘.$v[1].‘--‘.$v[2].‘--‘.$v[3].‘--‘.$v[4]."\n\r";    }    echo show_array($countpage,‘‘);

關於數組的分頁函數,用數組進行分頁的好處是可以方便的進行聯合多表查詢,只需要將查詢的結果放在數組中就可以了以下是數組分頁的函數,函數page_array用於數組的分頁,函數show_array用於分頁函數的操作及顯示,需要配合使用.兩個函數通過全域變數$countpage發生聯絡,此變數用於跟蹤總頁碼數.

PHP基於數組的分頁函數(核心函數array_slice())

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.