bl75013
Messages postés9Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention16 janvier 2012
-
24 nov. 2010 à 18:48
devil_may_cry
Messages postés194Date d'inscriptiondimanche 18 mars 2007StatutMembreDernière intervention11 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
$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
devil_may_cry
Messages postés194Date d'inscriptiondimanche 18 mars 2007StatutMembreDernière intervention11 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.' ';?>
}