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

Comment écrire du code de pagination PHP

小云云
小云云original
2017-11-10 17:51:122071parcourir

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; //否则,设置为第一页
}

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>

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> ";
 }

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!

Déclaration:
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