Nous savons tous que l'implémentation de la pagination PHP doit coopérer avec les données de la base de données pour obtenir l'effet. Dans l'article précédent, nous vous avons également donné une brève introduction, alors comment PHP+mysql obtient-il l'effet de pagination ? Eh bien, passons en revue aujourd'hui !
L'instruction pour afficher les données dans la pagination dans mysql est : limit 5,1. 5 représente la position de départ de la recherche, 1 représente l'affichage d'1 page
Donc en php, la page précédente et la suivante. la page doit être implémentée. La page doit transmettre une page de données à la limite, et elle peut être une pagination.
peut être compris comme trois étapes :
1) Connectez-vous à la base de données et affichez les données sur le front-end ;
2) Transmettez la page (valeur du numéro de page) du front-end à php Ici, nous devons également déterminer le numéro de page qui correspond à la plage : c'est-à-dire que c'est le cas. pas moins de 1 et pas plus grand que le nombre total de pages ;
3) PHP obtient le numéro de page, émet un jugement, effectue l'opération -+ correspondante et modifie la valeur limite .
ps : Les données ont été construites dans la base de données, et php ici est uniquement responsable de la connexion.
Tout d'abord, il faut savoir comment afficher les informations dans la base de données sur le front end :
fichier php :
//连接数据库: $link = mysqli_connect("localhost","root","123456","test") or die ("错误:连接数据库失败"); //一次为:服务器,用户名,密码,库名 mysqli_query($link,"set names 'utf8'"); //输出的编码方式,这句一定要有。 //连接表: $sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL"; //mysql查询语句 $sqlcount = mysqli_query($link,$sql) or die ("查询失败"); //将其输出. $info = mysqli_fetch_ array($sqlcount); while($info){ $result[ ] = $info; //传值给一个数组 } mysqli_free_result($info); //查询完后要释放该表 mysqli_close($link); //关闭数据库
Afficher le tableau qui vient d'être obtenu à partir de la base de données sur le front-end.
<table border="1"> <tr> <td>id</td> <td>Price</td> <td>customer</td> </tr> <!---用php将数据显示--> <?php foreach($result as $val) {?> <tr> <td><?php echo $val['id'];?></td> <td><?php echo $val[Price'];?></td> <td><?php echo $val['customer'];?></td> </tr> <?php } ?> </table>
Après l'affichage des données du tableau, la pagination est implémentée sur cette base.
Ajouter des connexions à la page précédente et à la page suivante. Un jugement doit être fait ici pour que la valeur transmise réponde aux exigences :
<!--显示首页和上一页的条件--> <?php if($page > 1) {?> <a href="?page=1">首页</a> <a href="?page=<?php echo $prevpage;">上一页</a> <?php } ?> <!--显示下一页和尾页的条件--> <?php if($page < $ numpages) {?> <a href="?page=<?php echo $nextpage;?">下一页</a> <a href="?page=<?php echo $numpages;?>尾页 <?php } ?>
Le langage de connexion à la base de données en PHP doit être modifié :
//获取总记录数: $sqls = "SELECT COUNT(*) as totalFROM wordspace where sa_id IS NOT NULL"; $sqlcount = mysqli_query($link,$sqls) od die("查询失败"); $pagecount = mysqli_fetch_array($sqlcount); $pagecount = $pagecount['total']; mysqli_free_result($sqlcount); //查询完记得释放空间 //获取页数,判断是否符合要求 $page = intval($_GET['page']); if($page <=0) {$page= 1;} elseif($page > $pagecount){ $page = $pagecount; } //定义每页显示的页数: $pageshow = 5; $pagesize = ($page-1) * $pageshow; //计算总页数: $numpages = ceil($pagecount/$pageshow); //向上取整; //连接要显示的数据库 $sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow"; $sqlinfo = mysqli_query($sql); $pide = mysqli_fetch_array($sqlinfo)or die("分页查询失败"); while($pide){ $result[ ] = $pide; }
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo); musqli_close($link); //最后要关闭数据库
Résumé :
Après avoir lu ceci, pensez-vous que la pagination php est très simple ? Tout d'abord, extrayez les données de la base de données et affichez-les, puis effectuez une série d'opérations telles que le transfert de valeur et le jugement. Lorsque vous maîtriserez l'essentiel, tout ne sera pas un problème pour vous. !
Recommandations associées :
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!