Pagination page commentaires d'une news

bl75013 Messages postés 9 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 16 janvier 2012 - 24 nov. 2010 à 18:48
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015 - 25 nov. 2010 à 05:22
bonjour,
et par avance merci à ceux et celles qui voudront bien m'aider.
j'ai donc un problème pour paginer pages commentaires d'une news.
sans pagination - tout est ok -
vous présente le code
<?php
if(!empty($_GET['blog_1']))
//pour info
echo '';
print_r($_GET); // Affiche tout le contenu de la variable $_GET
echo '

';
{
$req $bdd->prepare('SELECT titre,contenu,DATE_FORMAT(date,\'Le %d/%m/%Y à %Hh%imin%ss\') AS date_fr FROM blog WHERE id ? LIMIT 0,5');
$req->execute(array($_GET['blog_1']));
$donnees = $req->fetch();
?>


<?php echo htmlspecialchars($donnees['titre']). ' '. $donnees['date_fr'] . '';?>


<?php echo htmlspecialchars($donnees['contenu']);?>






<?php
$req2 = $result=$bdd->query('SELECT COUNT(id) AS nb FROM comment_blog WHERE id_blog='. $_GET['blog_1']) or die(print_r($req->errorInfo()));
$donnees=$result->fetch()
?>
<?php echo $donnees['nb']; ?> Commentaires

<?php
}
$req->closeCursor();
?>
<?php $rest = $donnees['nb']%3;
//On teste si le nb_billet est divisible par 3
if($rest == 0)
{
$nb_pages = $donnees['nb']/3;
echo 'pages ='.$nb_pages.'
';
}
//Sinon on ajoute 1 au quotion et on transforme le tout en valeur entiere
else
{
$nb_pages = (int) ($donnees['nb']/3 + 1);
echo 'pages = '.$nb_pages.'
Page :';
}
//On fait une boucle aprés avoir obtenu le nb_pages exacte pour ensuite afficher les numéros de pages
for($i=1;$i<= $nb_pages;$i++)
{
?>
&&<?php echo $i;?>" ><?php echo $i.' ';?>
}
<?php
$req $bdd->prepare('SELECT auteur,commentaire,DATE_FORMAT(date_com,\'Le %d/%m/%Y à %Hh%imin%ss\') AS date_com_fr FROM comment_blog WHERE id_blog ? ORDER BY id DESC LIMIT 0,'.$nb_pages.'') or die(print_r($bdd->errorInfo()));
$req->execute(array($_GET['blog_1']));
while($donnees = $req->fetch())
{
echo ''.htmlspecialchars($donnees['auteur']).' '.$donnees['date_com_fr'].'
'.htmlspecialchars($donnees['commentaire']).'
';

}
$req->closeCursor();
?>

suis débutant -
le problème vient bien sur du passage à la page

2 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
24 nov. 2010 à 19:50
bonsoir

j'essaie de comprendre ça

&&<?php echo $i;?>" ><?php echo $i.' ';?> ?

veux tu faire ça

&page=<?php echo $i;?>" > ?

a++
0
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
25 nov. 2010 à 05:22
salut , essaye avec sa
// definition du nombre de commentaire à afficher par page
$nb_par_page = 5;
// Récuperation de la variable de pagination
 $p = isset($_GET['p']) ? max(intval($_GET['p']), 1) : 1;
 // Récupération des messages totals
 $req2 = $result=$bdd->query('SELECT id FROM comment_blog WHERE id_blog='. $_GET['blog_1']) or die(print_r($req->errorInfo()));
$donnees = $result->rowCount();
// Calcul du debut d'extraction des resultats
$fetchStart = nb_par_page * ($p - 1);
$req $bdd->prepare('SELECT auteur,commentaire,DATE_FORMAT(date_com,\'Le %d/%m/%Y à %Hh%imin%ss\') AS date_com_fr FROM comment_blog WHERE id_blog ? ORDER BY id DESC LIMIT '.$fetchStart.','.$nb_par_pages.'')
// traitement iici

// Creation de la pagination
// pas besoin ici de verifier si c'est divisible ou pas avec ceil tu est sauver
$lastpage = ceil($donnees / $nb_par_page);
for( $i = 1; $i <= $lastpage; ++$i ) {
    echo &p=<?php echo $i;?>" ><?php echo $i.' ';?>
}
0
Rejoignez-nous