Pagination avec pdo

Fermé
gabbermaniac Messages postés 137 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 23 août 2011 - 5 avril 2010 à 15:23
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 5 avril 2010 à 17:31
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
5 avril 2010 à 17:31
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