Dans le développement PHP, les frameworks semblent être de plus en plus largement utilisés, moins les pratiques natives appartiendront au passé. J'espère que tout le monde n'abandonnera pas les choses fondamentales du passé ! Notre article concerne PHP combiné avec MySQL pour implémenter la pagination native, et désormais les frameworks généraux encapsulent la classe de pagination, vous n'avez donc pas besoin de l'écrire manuellement. Mais lorsque vous n’avez rien à faire, vous pouvez essayer de l’écrire et exercer vos compétences en codage.
La pagination PHP+MYSQL est principalement implémentée en fonction de la limite de l'instruction SQL.
Déclaration de limite :
select * from table limit `limit`,`offset`;
Vous pouvez considérer la limite comme le nombre de pages à paginer et le décalage comme le nombre d'éléments affichés sur chaque page.
L'effet d'implémentation est comme indiqué dans la figure :
Ceci est juste un exemple de code, qui implémente principalement la fonction de pagination , effets de page, etc. Il n'y a pas de débogage spécial .
Les principales fonctions sont : page d'accueil, dernière page, page précédente, page suivante, statistiques totales de la page, positionnement de la page en cours, affichage numérique, jusqu'à quatre, et le reste est représenté par....
Implémentation de code spécifique :
Voici la base de données exploitée par PDO
<?php header("Content-type:text/html;charset=utf-8"); // 1、传入页码 $page = $_GET['p']; // 2、根据页码取出数据 $pdo = new PDO('mysql:host=localhost;dbname=ceshi','root','root'); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $sql = 'SELECT * FROM `goods` LIMIT :start,:offset'; $limit = ($page-1)*3; $offset = 3; $stmt = $pdo->prepare($sql); $sqlnum = 'SELECT COUNT(*)FROM `goods`'; $stmtnum = $pdo->prepare($sqlnum); $stmtnum->execute(); $num = $stmtnum->fetch(PDO::FETCH_ASSOC); $stmt->bindParam(':start',$limit); $stmt->bindParam(':offset',$offset); if(!$stmt->execute()){ throw new Exception('查找失败',1); } $data = $stmt->fetchAll(PDO::FETCH_ASSOC); var_dump($data); // 3、显示数据+显示分页条 /**总页数**/ $end = floor($num['COUNT(*)']/$offset)+1; $page_banner ='<a href="'.$_SERVER['PHP_SELF'].'?p=1"> 首页</a>'; if($page <=1){ $page_banner .= '<a style="color:#B8BBB3;"> 上一页</a>'; }else{ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page -1).'"> 上一页</a>'; } if($page+3>4){ $page_banner .= '...'; } if(($page+4)>=$end){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-3).'"> '.($end-3).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-2).'"> '.($end-2).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-1).'"> '.($end-1).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end).'"> '.($end).'</a>'; }else{ for($i=0;$i<4;$i++){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page+$i).'"> '.($page+$i).'</a>'; } } if(($page+4)<$end){ $page_banner .= '...'; } if($page <=$num['COUNT(*)']/$offset){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page +1).'"> 下一页</a>'; }else{ $page_banner .='<a style="color:#B8BBB3;"> 下一页</a>'; } $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.$end.'"> 尾页</a>'; $page_banner .='<span> 总共'.$end.'页</span> 当前第<span>'.$page."页</span>"; echo $page_banner; ?>
Vous pouvez la pratiquer localement ! Si vous ne comprenez pas, vous devriez pratiquer davantage ! Si vous oubliez ces choses de base, il sera difficile de les reprendre ! !
Recommandations associées :
Implémentation de la classe de pagination PHP
Aujourd'hui, je vais partager avec vous une classe utile Belle classe de pagination php !
Le principe de mise en œuvre de la pagination php
Aujourd'hui je vais vous emmener analyser le principe de la pagination php.
Un exemple de code de classe de pagination PHP universelle
Cet article présente principalement la classe de pagination PHP universelle, qui est particulièrement facile à utiliser. Amis qui ont besoin d'utiliser la classe de pagination PHP. Ne le manquez pas.
Effet de mise en œuvre de la pagination thinkphp
Pour afficher une grande quantité de données, le contenu doit être paginé Cet article vise à présenter la pagination thinkphp pour les amis dans le besoin. pouvons en apprendre ensemble une fois.
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!