亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP+Mysql pembangunan halaman nombor halaman

<html>
 <head>
     <meta http-equiv="CONTENT-TYPE" content="text/html;">
 </head>
 <body>
 <?php
 /** 1.傳入頁面 **/
 $page = $_GET['p'];
 /** 2.根據(jù)頁面取出數(shù)據(jù):php->mysql **/
 $host = "localhost";
 $username = 'root';
 $password = '123456789';
 $db = 'bbs2';
 $PageSize=5;
 $ShowPage=3;
 //連接數(shù)據(jù)庫
 $conn = mysql_connect($host, $username, $password);
 if(!$conn){
     echo "數(shù)據(jù)庫連接失敗";
     exit;
 }
 
 //選擇所要操作的數(shù)據(jù)庫
 mysql_select_db($db);
 //設(shè)置數(shù)據(jù)庫編碼格式
 mysql_query('SET NAMES UTF8');
 //編寫sql獲取分頁數(shù)據(jù):SELECT * FROM 表名 LIMIT 起始位置 , 顯示條數(shù)
 $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize";
 if(!$sql){
     echo "取出不成功";
 };
 //把sql語句傳送到數(shù)據(jù)庫
 $result = mysql_query($sql);
 //處理我們的數(shù)據(jù)
 echo "<table border=1 cellspacing=0 width=15% >";
 echo "<tr><td>ID</td><td>名字</td><td>性別</td></tr>";
 while($row = mysql_fetch_assoc($result)){
     echo "<tr>";
     echo "<td>{$row['id']}</td>";
     echo "<td>{$row['name']}</td>";
     echo "<td>{$row['sex']}</td>";
     echo "<tr>";
 }
 echo "</table>";
 //釋放結(jié)果
 mysql_free_result($result);
 //獲取數(shù)據(jù)總數(shù)
 $to_sql="SELECT COUNT(*)FROM test";
 $to_result=mysql_fetch_array(mysql_query($to_sql));
 $to=$to_result[0];
 //計算頁數(shù)
 $to_pages=ceil($to/$PageSize);
 mysql_close($conn);
 /** 3.顯示數(shù)據(jù)+分頁條 **/
 $page_banner="";
 //計算偏移量
 $pageffset=($ShowPage-1)/2;
 if($page>1){
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首頁</a>";
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁</a>";
 }
 //初始化數(shù)據(jù)
 $start=1;
 $end=$to_pages;
 if ($to_pages>$ShowPage){
     if($page>$pageffset+1){
         $page_banner.="...";
     }
     if ($page>$pageffset){
         $start=$page-$pageffset;
         $end=$to_pages>$page+$pageffset?$page+$pageffset:$to_pages;
     }else{
         $start=1;
         $end=$to_pages>$ShowPage?$ShowPage:$to_pages;
     }
     if ($page+$pageffset>$to_pages){
         $start=$start-($page+$pageffset-$end);
     }
 }
 for($i=$start;$i<=$end;$i++){
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
 }
 //尾部省略
 if ($to_pages>$ShowPage&&$to_pages>$page+$pageffset){
     $page_banner.="...";
 }
 if ($page<$to_pages){
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一頁</a>";
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾頁</a>";
 }
 
 $page_banner.="共{$to_pages}頁";
 echo $page_banner;
 ?>
 </body>
 </html>

Apabila terdapat terlalu banyak data, nombor halaman akan menjadi terlalu panjang Pada masa ini, adalah perlu untuk menyembunyikan nombor halaman untuk mencapai kesan yang cantik

Penjelasan kod

QQ截圖20161026153352.png

$ ShowPage=3; Kami hanya memaparkan 3 nombor halaman

$pageffset=($ShowPage-1)/2 Kami memaparkan 3 nombor halaman tolak 1; untuk mendapatkan 1, yang bermaksud yang sebelumnya dan yang seterusnya mengimbangi masing-masing.

$start=1;
 $end=$to_pages;
 if ($to_pages>$ShowPage){
     if($page>$pageffset+1){
         $page_banner.="...";
     }

Jumlah bilangan halaman lebih besar daripada bilangan halaman yang dipaparkan dan halaman semasa lebih besar daripada paparan offset + 1...Ditinggalkan

    if ($page>$pageffset){
         $start=$page-$pageffset;
         $end=$to_pages>$page+$pageffset?$page+$pageffset:$to_pages;

$mulakan bermula kedudukan jika halaman semasa lebih besar daripada jumlah anjakan offset, maka kedudukan permulaan memaparkan halaman semasa tolak offset

$end kedudukan akhir Jika jumlah halaman lebih besar daripada halaman semasa ditambah offset , maka kedudukan akhir ialah halaman semasa ditambah dengan offset Jika tidak Jika halaman semasa lebih besar daripada offset, yang terakhir akan dipaparkan Bilangan halaman yang sedang dipaparkan, jika tidak, jumlah halaman

else{
         $start=1;
         $end=$to_pages>$ShowPage?$ShowPage:$to_pages;
     }

Jika nombor halaman tambah ofset lebih besar daripada halaman terakhir, kedudukan permulaan adalah sama dengan kedudukan permulaan asal tolak halaman semasa tambah offset tolak Pergi ke kedudukan akhir.

    if ($page+$pageffset>$to_pages){
         $start=$start-($page+$pageffset-$end);

Nombor halaman paparan

}
 for($i=$start;$i<=$end;$i++){
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
 }

Apabila jumlah halaman lebih besar daripada bilangan halaman yang dipaparkan dan halaman terakhir lebih besar daripada halaman semasa ditambah offset, tinggalkan

Meneruskan pembelajaran
||
<html> <head> <meta http-equiv="CONTENT-TYPE" content="text/html;"> </head> <body> <?php /** 1.傳入頁面 **/ $page = $_GET['p']; /** 2.根據(jù)頁面取出數(shù)據(jù):php->mysql **/ $host = "localhost"; $username = 'root'; $password = '123456789'; $db = 'bbs2'; $PageSize=5; $ShowPage=3; //連接數(shù)據(jù)庫 $conn = mysql_connect($host, $username, $password); if(!$conn){ // echo "數(shù)據(jù)庫連接失敗"; exit; } //選擇所要操作的數(shù)據(jù)庫 mysql_select_db($db); //設(shè)置數(shù)據(jù)庫編碼格式 mysql_query('SET NAMES UTF8'); //編寫sql獲取分頁數(shù)據(jù):SELECT * FROM 表名 LIMIT 起始位置 , 顯示條數(shù) $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize"; if(!$sql){ echo "取出不成功"; }; //把sql語句傳送到數(shù)據(jù)庫 $result = mysql_query($sql); //處理我們的數(shù)據(jù) echo "<table border=1 cellspacing=0 width=15% >"; echo "<tr><td>ID</td><td>名字</td><td>性別</td></tr>"; while($row = mysql_fetch_assoc($result)){ echo "<tr>"; echo "<td>{$row['id']}</td>"; echo "<td>{$row['name']}</td>"; echo "<td>{$row['sex']}</td>"; echo "<tr>"; } echo "</table>"; //釋放結(jié)果 mysql_free_result($result); //獲取數(shù)據(jù)總數(shù) $to_sql="SELECT COUNT(*)FROM test"; $to_result=mysql_fetch_array(mysql_query($to_sql)); $to=$to_result[0]; //計算頁數(shù) $to_pages=ceil($to/$PageSize); mysql_close($conn); /** 3.顯示數(shù)據(jù)+分頁條 **/ $page_banner=""; //計算偏移量 $pageffset=($ShowPage-1)/2; if($page>1){ $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首頁</a>"; $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁</a>"; } //初始化數(shù)據(jù) $start=1; $end=$to_pages; if ($to_pages>$ShowPage){ if($page>$pageffset+1){ $page_banner.="..."; } if ($page>$pageffset){ $start=$page-$pageffset; $end=$to_pages>$page+$pageffset?$page+$pageffset:$to_pages; }else{ $start=1; $end=$to_pages>$ShowPage?$ShowPage:$to_pages; } if ($page+$pageffset>$to_pages){ $start=$start-($page+$pageffset-$end); } } for($i=$start;$i<=$end;$i++){ $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>"; } //尾部省略 if ($to_pages>$ShowPage&&$to_pages>$page+$pageffset){ $page_banner.="..."; } if ($page<$to_pages){ $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一頁</a>"; $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾頁</a>"; } $page_banner.="共{$to_pages}頁"; echo $page_banner; ?> </body> </html>