Maison > développement back-end > tutoriel php > Comment écrire du code de pagination PHP

Comment écrire du code de pagination PHP

小云云
Libérer: 2023-03-17 10:30:01
original
2147 Les gens l'ont consulté

1. Principe du programme de pagination
Le programme de pagination a deux paramètres très importants : combien d'enregistrements sont affichés sur chaque page ($pagesize) et quelle page est la page actuelle ($page). Avec ces deux paramètres, nous pouvons facilement écrire un programme de pagination. Nous utilisons la base de données MySql comme source de données. Dans MySQL, si vous souhaitez supprimer un élément de contenu spécifique dans la table, vous pouvez utiliser l'instruction T-SQL : select. * à partir du décalage de limite de table, lignes à réaliser. Le décalage ici est le décalage de l'enregistrement, et sa méthode de calcul est offset=$pagesize*($page-1), les lignes sont le nombre d'enregistrements à afficher, voici $page. En d'autres termes, l'instruction select * from table limit 10,10 signifie supprimer les 20 enregistrements à partir du 11ème enregistrement de la table.

2. Analyse du code principal

$pagesize=10; //设置每一页显示的记录数
$conn=mysql_connect("localhost","root",""); //连接数据库
$rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//计算总页数
$pages=intval($numrows/$pagesize);
//判断页数设置
if (isset($_GET['page'])){
 $page=intval($_GET['page']);
}
else{ 
 $page=1; //否则,设置为第一页
}
Copier après la connexion

3. Créer une table de cas d'utilisation myTable

create table myTable(id int NOT NULL auto_increment,news_title varchar(50 ), news_cont text, add_time datetime, PRIMARY KEY(id))

4. Code complet

<html>
<head>
<title>php分页示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head>
<body>
<?php
 $conn=mysql_connect("localhost","root","");
 //设定每一页显示的记录数
 $pagesize=1;
 mysql_select_db("mydata",$conn);
 //取得记录总数$rs,计算总页数用
 $rs=mysql_query("select count(*) from tb_product",$conn);
 $myrow = mysql_fetch_array($rs);
 $numrows=$myrow[0];
 //计算总页数
 $pages=intval($numrows/$pagesize);
 if ($numrows%$pagesize)
  $pages++;
 //设置页数
 if (isset($_GET['page'])){
  $page=intval($_GET['page']);
 }
 else{
  //设置为第一页 
  $page=1;
 }
 //计算记录偏移量
 $offset=$pagesize*($page - 1);
 //读取指定记录数
 $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
 if ($myrow = mysql_fetch_array($rs))
 {
  $i=0;
  ?>
  <table border="0" width="80%">
  <tr>
   <td width="50%" bgcolor="#E0E0E0">
    <p align="center">标题</td>
    <td width="50%" bgcolor="#E0E0E0">
    <p align="center">发布时间</td>
  </tr>
  <?php
   do {
    $i++;
    ?>
  <tr>
   <td width="50%"><?=$myrow["news_title"]?></td>
   <td width="50%"><?=$myrow["news_cont"]?></td>
  </tr>
   <?php
   }
   while ($myrow = mysql_fetch_array($rs));
    echo "</table>";
  }
  echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")";
  for ($i=1;$i< $page;$i++)
   echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
   echo "[".$page."]";
   for ($i=$page+1;$i<=$pages;$i++)
    echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
    echo "</div>";
   ?>
  </body>
  </html>
Copier après la connexion

5. Résumé

Cet exemple Le code s'exécute normalement sur le serveur Windows2000+php4.4.0+mysql5.0.16. Le format de pagination affiché dans cet exemple est [1][2][3]…. Si vous souhaitez l'afficher sous la forme de "Page d'accueil Page précédente Page suivante Dernière page", veuillez ajouter le code suivant :

$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if ($page > 1)
{
 echo "<a href='fenye.php?page=".$first."'>首页</a> ";
 echo "<a href='fenye.php?page=".$prev."'>上一页</a> ";
}
if ($page < $pages)
{
 echo "<a href='fenye.php?page=".$next."'>下一页</a> 
 echo "<a href='fenye.php?page=".$last."'>尾页</a> ";
 }
Copier après la connexion

Le développement Web est le courant dominant des programmes distribués développement à l'avenir, généralement La plupart des développements Web impliquent de gérer la base de données. Le client lit à partir du serveur et l'affiche généralement sous forme de pagination. La lecture page par page est à la fois pratique et esthétique. L’écriture de programmes de pagination est donc une partie importante du développement Web.

Recommandations associées :

Une implémentation simple du code de pagination PHP le plus simple

Une classe de pagination PHP universelle Exemple de code

exemple de code de pagination php (peut être modifié et utilisé directement)

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