PHP développe la fonction de pagination de la page d'accueil d'un système simple de prêt de livres

Lorsque la page principale est terminée, les données de la base de données doivent être affichées via des instructions SQL.

Vous devez utiliser la fonction de pagination pour les afficher ici. Après tout, le nombre affiché sur la première page est limité. .

Nous définissons 5 éléments de données à afficher sur chaque page

$pagesize=5

Pour obtenir l'identifiant, vous vous devez le trier dans l'ordre inverse. La catégorie du titre du livre est en chinois et la fonction urldecode() est nécessaire pour convertir le chinois sous une forme codée.

<?php
if(!urldecode($_GET['proid'])){
   //urldecode()函数将 URL 编码后字符串还原成未编码的样子。编码使用 %## 的格式
   $SQL ="SELECT * FROM yx_books order by id desc";  //倒序排列
}else{
   $SQL ="SELECT * FROM yx_books where type='".urldecode($_GET['proid'])."'";
   //将查询出来的书目类别中文字转换为编码形式
}
?>

Obtenez le nombre total de données interrogées, calculez le nombre total de pages, puis jugez la page actuelle Lorsque la page actuelle est inférieure à la première page, la première page s'affiche. le numéro de page actuel est supérieur au nombre total de pages, le nombre total de pages Pages est affiché.

Déterminez quelle donnée commencer à afficher sur chaque page.

<?php
$rs=mysqli_query($link,$sql);
$recordcount=mysqli_num_rows($rs);  //输出查询的总数
//mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。
$pagecount=($recordcount-1)/$pagesize+1;  //计算总页数
$pagecount=(int)$pagecount;
$pageno=empty($_GET["pageno"])?'':$_GET["pageno"];  //当前页

if($pageno=="")  //当前页为空时显示第一页
{
   $pageno=1;
}
if($pageno<1)   //当前页小于第一页时显示第一页
{
   $pageno=1;
}
if($pageno>$pagecount)  //当前页数大于总页数时显示总页数
{
   $pageno=$pagecount;
}
$startno=($pageno-1)*$pagesize;  //每页从第几条数据开始显示
?>

SELECT interroge les instructions dans la base de données puis les affiche en boucle :

<?php
if(!urldecode($_GET["proid"])){
   $SQL ="SELECT * FROM yx_books order by id desc limit $startno,$pagesize";
}else{
   $SQL ="SELECT * FROM yx_books where type='".urldecode($_GET['proid'])."' order by id desc limit $startno,$pagesize";
}
$rs=mysqli_query($link,$sql);
?>

<?php
 if(!empty($rs)){
     while($rows=mysqli_fetch_array($rs))
   {
?>
    <tr>
       <td height="30" align="center" bgcolor="#FFFFFF"><?php echo $rows["id"];?></td>
       <td align="center" bgcolor="#FFFFFF"><?php echo $rows["name"];?></td>
       <td align="center" bgcolor="#FFFFFF"><?php echo $rows["price"];?></td>
       <td align="center" bgcolor="#FFFFFF"><?php echo $rows["uploadtime"];?></td>
       <td align="center" bgcolor="#FFFFFF"><?php echo $rows["type"];?></td>
       <td align="center" bgcolor="#FFFFFF"><?php echo $rows["leave_number"];?></td>
       <td align="center" bgcolor="#FFFFFF" class="line2"></td>
    </tr>
<?php
    }
 }
?>

Enfin, les fonctions de clic sur la page d'accueil, la page précédente, la page suivante et la dernière page s’affichent.

Si la page actuelle est la première page, seules la page d'accueil et la page précédente seront affichées.

Lorsque la page actuelle correspond au nombre total de pages, la page d'accueil et la page précédente sont affichées sous forme de liens.

Le reste est affiché sous forme de liens ajoutés normaux

<?php
if($pageno==1)
{
   ?>
   首页 | 上一页 |
   <?php if($pageno+1<= $pagecount) { ?>
   <a href="index.php?proid=<?php echo empty($_GET['proid']) ? '' : urlencode($_GET['proid']); ?>&pageno=<?php echo $pageno + 1 ?>">下一页</a> |
   <a href="index.php?proid=<?php echo empty($_GET['proid']) ? '' : urlencode($_GET['proid']); ?>&pageno=<?php echo $pagecount ?>">末页</a>
   <?php
     }
}
else if($pageno==$pagecount)
{
   ?>
   <a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=1">首页</a> |
   <a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=<?php echo $pageno-1?>">上一页</a> | 下一页 | 末页
   <?php
}
else
{
   ?>
   <a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=1">首页</a> |
   <a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=<?php echo $pageno-1?>">上一页</a> |
   <a href="index.php?proid=<?php echo urlencode($_GET["proid"]);?>&pageno=<?php echo $pageno+1?>" class="forumRowHighlight">下一页</a> |
   <a href="?pageno=<?php echo $pagecount?>">末页</a>
   <?php
}
?>
&nbsp;页次:<?php echo $pageno ?>/<?php echo $pagecount ?>页&nbsp;共有<?php echo $recordcount?>条信息


Formation continue
||
<?php $rs=mysqli_query($link,$sql); $recordcount=mysqli_num_rows($rs); //输出查询的总数 //mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。 $pagecount=($recordcount-1)/$pagesize+1; //计算总页数 $pagecount=(int)$pagecount; $pageno=empty($_GET["pageno"])?'':$_GET["pageno"]; //当前页 if($pageno=="") //当前页为空时显示第一页 { $pageno=1; } if($pageno<1) //当前页小于第一页时显示第一页 { $pageno=1; } if($pageno>$pagecount) //当前页数大于总页数时显示总页数 { $pageno=$pagecount; } $startno=($pageno-1)*$pagesize; //每页从第几条数据开始显示 ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel