Le développement Web est le courant dominant du développement de programmes distribués à l'avenir. Habituellement, le développement Web implique la gestion de bases de données et les affiche généralement sous forme de pagination. La lecture page par page est à la fois pratique et efficace. Par conséquent, l’écriture de programmes de pagination est une partie importante du développement Web. Ici, nous étudierons ensemble l’écriture de programmes de pagination.
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 récupérer les 20 enregistrements à partir du 11ème enregistrement de la table.
2. Analyse du code principal
$pagesize=10; //Définir le nombre d'enregistrements affichés sur chaque page
$conn=mysql_connect("localhost","root",""); //Se connecter à la base de données
$rs=mysql_query("select count(*) from tb_product",$conn); //Obtenir le nombre total d'enregistrements $rs
$maligne = mysql_fetch_array($rs);
$numrows=$myrow[0];
//Calculer le nombre total de pages
$pages=intval($numrows/$pagesize);
//Juge le paramètre de numéro de page
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
autre{
$page=1; //Sinon, défini sur la première page
}
3. Créer une table de cas d'utilisation myTable
créer une 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>
<tête>
<titre>exemple de pagination php</titre>
<méta http-equiv="Content-Type" content="text/html; charset=gb2312">
</tête>
<corps>
<?php
$conn=mysql_connect("localhost","root","");
//Définit le nombre d'enregistrements affichés sur chaque page $pagesize=1;
mysql_select_db("mesdonnées",$conn);
//Obtenez le nombre total d'enregistrements $rs et calculez le nombre total de pages en utilisant $rs=mysql_query("select count(*) from tb_product",$conn);
$maligne = mysql_fetch_array($rs);
$numrows=$maligne[0];
//Calculer le nombre total de pages
$pages=intval($numrows/$pagesize);
si ($numrows%$pagesize)
$pages++;
//Définir le nombre de pages if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
autre{
//Défini sur la première page $page=1;
}
//Calculer le décalage d'enregistrement $offset=$pagesize*($page - 1);
//Lire le nombre d'enregistrements spécifié $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
si ($maligne = mysql_fetch_array($rs))
{
$i=0 ;
?>
<bordure du tableau="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">Titre</td>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">Heure de publication</td>
</tr>
<?php
faire {
$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'> a ".$pages." pages ("".$page."/".$pages.")";
pour ($i=1;$i< $page;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "[".$page."]";
pour ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "</div>";
?>
</corps>
</html>
5. Résumé
Cet exemple de 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 « Page d'accueil Page précédente Page suivante Dernière page », veuillez ajouter le code suivant :
$first=1;
$préc=$page-1 ;
$suivant=$page+1 ;
$dernière=$pages;
si ($page > 1)
{
echo "<a href='fenye.php?page=".$first."'>Page d'accueil</a> ";
echo "<a href='fenye.php?page=".$prev."'>Page précédente</a> ";
}
si ($page < $pages)
{
echo "<a href='fenye.php?page=".$next."'>Page suivante</a>
echo "<a href='fenye.php?page=".$last."'>Dernière page</a> ";
}
En fait, écrire du code d'affichage de pagination est très simple, à condition de maîtriser son principe de fonctionnement. J'espère que cet article pourra aider les programmeurs Web qui ont besoin de cet aspect de la programmation.