PHP簡單實現分頁功能 (九步) 搜尋實現
阿新 • • 發佈:2019-01-03
//分頁步驟 //1 設定頁大小 //2 計算記錄總數 //3 計算頁總數 //4 接受當前頁碼?page=2 //5 過濾越界 //6 組裝sql語句 //7 傳送sql語句 //8 處理結果 //9 傳送超連結 //搜尋區域 $keyword=empty($_GET['keyword'])?'':$_GET['keyword']; if(!empty($keyword)){ $where='where username like "%'.$keyword.'%" '; $link="&keyword=".$keyword; }else{ $where=''; $link=''; } //設定分頁 //1設定頁大小 $page_size=5; //2計算記錄總數 $sql="select count(*) as c from ".DB_PREFIX."user ".$where; $count=connect($sql); $count=$count[0]['c']; if($count==0){ echo "木有資料"; }else{ // var_dump($count); // exit; //3 計算頁總數 $page_count=ceil($count/$page_size); // //4獲取當前頁碼 $page_num=empty($_GET['page'])?1:$_GET['page']; //5 設定越界 if($page_num<1){ $page_num=1; } if($page_num>$page_count){ $page_num=$page_count; } // echo $page_num; // exit; //6 組裝sql語句 $limit="limit ".($page_num-1)*$page_size.",".$page_size; // echo $limit; // exit; //7 準備sql語句 $sql="select * from ".DB_PREFIX."user ".$where." order by id ".$limit; //echo $sql; // exit; // $page_num=connect($sql); // var_dump($limit); // exit; //$sql="select * from ".DB_PREFIX."user order by id"; //var_dump($sql); //8 傳送sql語句 $data=connect($sql); if($data){ // //此處為處理頁面 } echo "<a href='?page=1".$link."'>首頁</a> <a href='?page=".($page_num-1).$link."'>上一頁</a> <a href='?page=".($page_num+1).$link."'>下一頁</a> <a href='?page=".$page_count."'>尾頁</a> 當前第".$page_num."頁 共".$page_count."頁本 有".(($page_num!=$page_count||$count%$page_size==0)?$page_size:($count%$page_size))."條資料 共".$count."條資料"; echo "<br/>"; if($page_num>6){ //如果訪問的當前頁碼>=7的,應該7-5=2開始,最大顯示到7+4=11; for($i=($page_num-5 );$i<=($page_num+4);$i++){ echo "<a class='page' href='?page=".$i."'>".$i."</a>"; } }else{ //當前頁碼小於6,判斷頁總數是否大於10,如果10,最多顯示10個頁碼,否則等於$page_count個頁碼 if($page_count<=10){ $size=$paze_count; }else{ $size=10; } for($i=1;$i<=$size;$i++){ echo "<a class='page' href='?page=".$i."'>".$i."</a> "; } } }