Bonjour,
Voila j'ai fais un système de pagination pour les commentaires sur mon site,mais le soucis c'est quand j'appuye sur les petit chiffres en bas sa me redirige vers ma page d'acceuil ce qui est anormal..
Mon code : ( je vous épargne les requetes ect ect..)
for ($i=1;$i<=$pagetotal;$i++)
{
if ($i == $pagecourante) {
echo $i.' ';
}
else {
echo '<a href="lesrecettes.php?page='.$i.'">'.$i.'</a> ';
}
}
Sachant que la personne clique sur une recette donc de base dans ma barre d'adresse c'est afficher ça "lesrecettes.php?id=?"
Pour moi c'est un soucis dans mon href mais je vois pas comment le résoudre merci !
Fais comme ça :
for ($i=1;$i<=$pagetotal;$i++)
{
if ($i == $pagecourante) {
echo $i.' ';
}
else {
echo '<a href="lesrecettes.php?id='.$_GET['id'].'&&page='.$i.'">'.$i.'</a> ';
}
}
Niquel sa fonctionne parfaitement mais le soucis j'ai fais en sorte qu'il y a juste 5commentaire qui s'affiche par pages mais le soucis quand je clique sur page 2 c'est un commentaire qui se rajoute...
Mon code complet :
$comms = 5;
$commstotalreq = $bdd->query('SELECT id FROM comm');
$commstotal = $commstotalreq->rowCount();
$pagetotal = ceil($commstotal/$comms);
if (isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0)
{
$_GET['page'] = intval($_GET['page']);
$pagecourante = $_GET['page'];
}
else {
$pagecourante = 1 ;
}
$depart = ($pagecourante-1)*$comms;
$commentaire = $bdd->prepare('SELECT * FROM comm WHERE id_recette = ? ORDER BY datepub ASC LIMIT '.$depart. 5);
$commentaire->execute(array($get_id));
for ($i=1;$i<=$pagetotal;$i++)
{
if ($i == $pagecourante) {
echo $i.' ';
}
else {
echo '<a href="lesrecettes.php?id='.$_GET['id'].'&&page='.$i.'">'.$i.'</a> ';
}
}
Bonjour
Il y a une erreur dans ton limit il manque une virgule apres ta variable $depart
commentaire = $bdd->prepare('SELECT * FROM comm WHERE id_recette = ? ORDER BY datepub ASC LIMIT '.$depart. ',' . 5);
D'ailleurs au lieux de mettre déclarer 5 a la main tu peux utiliser ta variable $coms
$commentaire = $bdd->prepare('SELECT * FROM comm WHERE id_recette = ? ORDER BY datepub ASC LIMIT '.$depart. ',' . $coms);
Ca t'évite de devoir le modifier a plusieurs endroits