Maison > base de données > tutoriel mysql > le corps du texte

PHP implémente le code d'affichage de la pagination

怪我咯
Libérer: 2017-07-11 16:10:04
original
5593 Les gens l'ont consulté

L'affichage dit de pagination signifie que le résultat défini dans la base de données est artificiellement divisé en sections pour l'affichage. Deux paramètres initiaux sont requis ici :

Combien par. enregistrements de page ($ PageSize) ?

Sur quelle page ($CurrentPageID) se trouve-t-il actuellement ?

Maintenant, tant que vous me donnez un autre ensemble de résultats, je peux afficher un résultat spécifique.
Comme pour les autres paramètres, tels que : Page précédente ($PReviousPageID) , Page suivante ($NextPageID) , Nombre total de pages ($numPages) ) et ainsi de suite, peuvent être obtenus sur la base de connaissances antérieures.

Prenons la base de données MySQL comme exemple. Si vous souhaitez intercepter un certain contenu de la table, l'instruction sql peut être utilisée : select * from table limit offset, rows. Jetez un œil à l’ensemble d’instructions SQL suivant et essayez de trouver les règles.

Les 10 premiers enregistrements : sélectionnez * dans la limite de table 0,10

Le 11ème au 20ème enregistrements : sélectionnez * à partir de la limite de table 10,10

Enregistrements 21 à 30 : sélectionnez * à partir de la limite de table 20,10

……

Cet ensemble d'instructions SQL est en fait l'instruction SQL permettant de récupérer les données de chaque page du tableau lorsque $PageSize=10. Nous pouvons résumer un tel modèle :

select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize
Copier après la connexion

Utilisez ce modèle Remplacez la valeur correspondante. et comparez-le avec l'ensemble d'instructions SQL ci-dessus pour voir si tel est le cas. Après avoir résolu le problème le plus important de la façon d'obtenir les données, il ne reste plus qu'à transmettre les paramètres, construire l'instruction SQL appropriée, puis utiliser PHP pour obtenir les données de la base de données et les afficher. Ci-dessous, je vais l'expliquer avec un code spécifique.
Implémentation de code simple
Veuillez lire le code suivant en détail, déboguer et exécuter vous-même, il est préférable de le modifier une fois et d'ajouter vos propres fonctions, telles que recherche, etc

// 建立数据库连接 
$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")  
   or die("Could not connect: " . mysql_error());  
// 获取当前页数 
if( isset($_GET['page']) ){ 
  $page = intval( $_GET['page'] ); 
} 
else{ 
  $page = 1; 
}  
// 每页数量 
$PageSize = 10;  
// 获取总数据量 
$sql = "select count(*) as amount from table"; 
$result = mysql_query($sql); 
$row = mysql_fetch_row($result); 
$amount = $row['amount'];  
// 记算总共有多少页 
if( $amount ){ 
  if( $amount < $page_size ){ $page_count = 1; }        //如果总数据量小于$PageSize,那么只有一页 
  if( $amount % $page_size ){                 //取总数据量除以每页数的余数 
    $page_count = (int)($amount / $page_size) + 1;      //如果有余数,则页数等于总数据量除以每页数的结果取整再加一 
  }else{ 
    $page_count = $amount / $page_size;           //如果没有余数,则页数等于总数据量除以每页数的结果 
  } 
} 
else{ 
  $page_count = 0; 
} 
// 翻页链接 
$page_string = &#39;&#39;; 
if( $page == 1 ){ 
  $page_string .= &#39;第一页|上一页|&#39;; 
} 
else{ 
  $page_string .= &#39;第一页|.($page-1).&#39;>上一页|&#39;; 
}  
if( ($page == $page_count) || ($page_count == 0) ){ 
  $page_string .= &#39;下一页|尾页&#39;; 
} 
else{ 
  $page_string .= &#39;.($page+1).&#39;>下一页|.$page_count.&#39;>尾页&#39;; 
} 
// 获取数据,以二维数组格式返回结果 
if( $amount ){ 
  $sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size"; 
  $result = mysql_query($sql); 
  while ( $row = mysql_fetch_row($result) ){ 
    $rowset[] = $row; 
  } 
}else{ 
  $rowset = array(); 
} 
// 没有包含显示结果的代码,那不在讨论范围,只要用foreach就可以很简单的用得到的二维数组来显示结果 
?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!