Système de pagination

Par JMERISE, il y a 10 ans


Bonsoir,

Je poste ce sujet car je rencontre un petit prôbléme sur le Système de pagination que je suis entrain de faire.
Le systéme marche trais bien mais le seul prôbléme c'est que j'arrive pas a afficher les pagination avec la boucle for en php.

Voici ce que j'ai fait :

for($i = 1;$i <= $PageTotales; $i++){ echo '<li><a href="index.php?page='.$i.'">'.$i.'</a></li>'; }

Ce code ne m'affiche rien.
La variable PageTotales contion le nombre de page.

Cordialement,

8 réponses

Valérian, il y a 10 ans

Bonsoir,

Il nous faudrait sûrement un peu plus de code pour pouvoir t'aider...

Ta boucle semble correcte. Si elle n'affiche rien, c'est que $PageTotales doit être à 0. Fais un maximum de var_dump() pour trouver la source du problème.

JMERISE, il y a 10 ans

Voila le code que j'avais fait:

<?php session_start(); require 'config_data.php'; $AnnonceParPage = 2; $AnnonceTotalReq = $bdd->prepare('SELECT id FROM annonce'); $AnnonceTotal = $AnnonceTotalReq->rowCount(); if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0){ $_GET['page'] = intval($_GET['page']); $PageCourante = $_GET['page']; }else{ $PageCourante = 1; } $PageTotales = ceil($AnnonceTotal/$AnnonceParPage); $Depart = ($PageCourante-1)*$AnnonceParPage; $ReqAnnonces = $bdd->query('SELECT * FROM annonce INNER JOIN membre ON annonce.id_users = membre.id ORDER BY annonce.id DESC LIMIT '.$Depart.', '.$AnnonceParPage.''); ?>
Valérian, il y a 10 ans

Merci.

Comme dit précédemment, fais un maximum de var_dump() pour connaître la valeur de tes variables.

En priorité : $AnnonceTotal et $PageTotales

JMERISE, il y a 10 ans

la variable PageTotales il contient 0 et $AnnonceTotal aussi

Valérian, il y a 10 ans

Ca veut sûrement dire que le problème vient de ta requête pour récupérer le nombre d'annonces puisque j'imagine que la table n'est pas vide.
Quel moteur PDO utilises-tu pour tes requêtes ?

JMERISE, il y a 10 ans

La table n'est pas vide, mais que veux tu dire par moteur PDO ?

Valérian, il y a 10 ans

Je parle de la librairie PDO qui te permet de requêter ta base de données.
J'imagine que tu utilises celle fournit par PHP (http://php.net/manual/fr/book.pdo.php).
Si c'est le cas, ton problème vient de ton script pour récupérer le nombre d'annonces.

Ainsi, voici la correction :

$AnnonceTotalReq = $bdd->prepare('SELECT id FROM annonce'); $AnnonceTotalReq->execute(); // Il faut executer ta requête $AnnonceTotal = $AnnonceTotalReq->rowCount();

Documentation ici : http://php.net/manual/fr/pdostatement.rowcount.php

JMERISE, il y a 10 ans

Ha, un grand merci a toi pour m'avoir aider :)