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

Développement PHP+Mysql de la pagination des numéros de page

<html>
 <head>
     <meta http-equiv="CONTENT-TYPE" content="text/html;">
 </head>
 <body>
 <?php
 /** 1.傳入頁(yè)面 **/
 $page = $_GET['p'];
 /** 2.根據(jù)頁(yè)面取出數(shù)據(jù):php->mysql **/
 $host = "localhost";
 $username = 'root';
 $password = '123456789';
 $db = 'bbs2';
 $PageSize=5;
 $ShowPage=3;
 //連接數(shù)據(jù)庫(kù)
 $conn = mysql_connect($host, $username, $password);
 if(!$conn){
     echo "數(shù)據(jù)庫(kù)連接失敗";
     exit;
 }
 
 //選擇所要操作的數(shù)據(jù)庫(kù)
 mysql_select_db($db);
 //設(shè)置數(shù)據(jù)庫(kù)編碼格式
 mysql_query('SET NAMES UTF8');
 //編寫(xiě)sql獲取分頁(yè)數(shù)據(jù):SELECT * FROM 表名 LIMIT 起始位置 , 顯示條數(shù)
 $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize";
 if(!$sql){
     echo "取出不成功";
 };
 //把sql語(yǔ)句傳送到數(shù)據(jù)庫(kù)
 $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];
 //計(jì)算頁(yè)數(shù)
 $to_pages=ceil($to/$PageSize);
 mysql_close($conn);
 /** 3.顯示數(shù)據(jù)+分頁(yè)條 **/
 $page_banner="";
 //計(jì)算偏移量
 $pageffset=($ShowPage-1)/2;
 if($page>1){
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首頁(yè)</a>";
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁(yè)</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)."'>下一頁(yè)</a>";
     $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾頁(yè)</a>";
 }
 
 $page_banner.="共{$to_pages}頁(yè)";
 echo $page_banner;
 ?>
 </body>
 </html>

Quand il y a trop de données, le numéro de page sera trop long A ce moment, il est nécessaire de masquer le numéro de page pour obtenir un bel effet

Explication du code

. QQ截圖20161026153352.png

$ ShowPage=3; Nous affichons uniquement 3 numéros de page

$pageffset=($ShowPage-1)/2; pour obtenir 1, ce qui signifie que le précédent et le suivant sont respectivement décalés.

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

Le nombre total de pages est supérieur au nombre de pages affiché, et la page actuelle est supérieure au décalage + 1 affichage...Omis

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

$start Starting position si la page actuelle est supérieure au montant du décalage, alors la position de départ affiche la page actuelle moins le décalage

$end end position Si le nombre total de pages est supérieur à la page actuelle plus le décalage. , alors la position de fin est la page actuelle plus le décalage. Sinon Si la page actuelle est supérieure au décalage, la dernière sera affichée. Le nombre de pages actuellement affichées, sinon le nombre total de pages

else{
         $start=1;
         $end=$to_pages>$ShowPage?$ShowPage:$to_pages;
     }
<. ??> Si le numéro de page plus le décalage est supérieur à la dernière page, la position de départ est égale à la position de départ d'origine moins la page actuelle plus le décalage moins Aller à la position de fin.

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

Afficher le numéro de page

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

Lorsque le nombre total de pages est supérieur au nombre de pages affiché et que la dernière page est supérieure à la page actuelle plus le décalage, omettez

Formation continue
||
<html> <head> <meta http-equiv="CONTENT-TYPE" content="text/html;"> </head> <body> <?php /** 1.傳入頁(yè)面 **/ $page = $_GET['p']; /** 2.根據(jù)頁(yè)面取出數(shù)據(jù):php->mysql **/ $host = "localhost"; $username = 'root'; $password = '123456789'; $db = 'bbs2'; $PageSize=5; $ShowPage=3; //連接數(shù)據(jù)庫(kù) $conn = mysql_connect($host, $username, $password); if(!$conn){ // echo "數(shù)據(jù)庫(kù)連接失敗"; exit; } //選擇所要操作的數(shù)據(jù)庫(kù) mysql_select_db($db); //設(shè)置數(shù)據(jù)庫(kù)編碼格式 mysql_query('SET NAMES UTF8'); //編寫(xiě)sql獲取分頁(yè)數(shù)據(jù):SELECT * FROM 表名 LIMIT 起始位置 , 顯示條數(shù) $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize"; if(!$sql){ echo "取出不成功"; }; //把sql語(yǔ)句傳送到數(shù)據(jù)庫(kù) $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]; //計(jì)算頁(yè)數(shù) $to_pages=ceil($to/$PageSize); mysql_close($conn); /** 3.顯示數(shù)據(jù)+分頁(yè)條 **/ $page_banner=""; //計(jì)算偏移量 $pageffset=($ShowPage-1)/2; if($page>1){ $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首頁(yè)</a>"; $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁(yè)</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)."'>下一頁(yè)</a>"; $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾頁(yè)</a>"; } $page_banner.="共{$to_pages}頁(yè)"; echo $page_banner; ?> </body> </html>
soumettreRéinitialiser le code