Cet article présente principalement la méthode d'affichage de la pagination en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
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 d'enregistrements par page (. $TaillePage) ?
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.
En prenant 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
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 = ''; if( $page == 1 ){ $page_string .= '第一页|上一页|'; } else{ $page_string .= '第一页|.($page-1).'>上一页|'; } if( ($page == $page_count) || ($page_count == 0) ){ $page_string .= '下一页|尾页'; } else{ $page_string .= '.($page+1).'>下一页|.$page_count.'>尾页'; } // 获取数据,以二维数组格式返回结果 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就可以很简单的用得到的二维数组来显示结果 ?>
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Implémentation récursive PHP de la méthode d'expansion d'arbre hiérarchique
Utilisation de la fonction PHP import_request_variables() et exemple d'analyse
Méthode PHP et exemple d'analyse de calcul de la somme et du produit des valeurs dans un tableau
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!