Pagination avec pdo

Bonjour,

Comment réaliser une pagination avec pdo?

j'ai récupéré ce code :
$sql ="SELECT COUNT(id) as nbArt FROM news";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data=mysql_fetch_assoc($req);
$nbArt =$data['nbArt'];
$perPage = 4;
$nbPage= ceil($nbArt/$perPage);

if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage){
$cPage = $_GET['p'];
}
else{
$cPage =1;
}
$sql="SELECT * FROM news ORDER BY date DESC LIMIT ".(($cPage-1)*$perPage).",$perPage";

mais je ne vois pas comment l'adopter !

y-a-til un tutoriel pour la pagination en pdo?
merci

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. La "pagination en PDO" ça ne veut rien dire.
    Il suffit de compter le nombre d'entrées, de faire une division pour obtenir le nom de pages, et les écrires ...
    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=tabase','root','');
    
    $sql = 'SELECT COUNT(*) as nb FROM news';
    $req = $pdo->query($sql);
    $data = $req->fetch();
    $nbArticles = $data['nb'];
    
    $newsParPage = 4;
    $nbPage = ceil($nbArticles / $newsParPage);
    
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    $data=mysql_fetch_assoc($req); 
    $nbArt =$data['nbArt']; 
    $perPage = 4; 
    $nbPage= ceil($nbArt/$perPage); 
    
    ...
    ?>