Pagination avec pdo

gabbermaniac Messages postés 147 Statut Membre -  
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

1 réponse

avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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); 

...
?>
2