Pagination ne marche pas
charline159
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'essaie de mettre en place un système de pagination.
Cependant, il semble y avoir un problème au niveau de la variable $currentPage ("undefined variable"). Pourtant, je lui ai bien assigné une valeur:
De plus, la dernière ligne
Auriez-vous une idée d'où cela peut venir ?
Cependant, il semble y avoir un problème au niveau de la variable $currentPage ("undefined variable"). Pourtant, je lui ai bien assigné une valeur:
// définit deuxième borne de l'intervalle define("usersPerPage", 25); $usersPerPage = 25; // définit première borne de l'intervalle $queryCol = $pdo -> query("SELECT id FROM utilisateur"); $usersTotal = $queryCol->rowCount(); //nombre de colonnes dans la table $pageMax = ceil($usersTotal/usersPerPage); // page max = 4 if (isset($_GET['page']) && !empty($_GET['page']) && ctype_digit($_GET['page'])==1){ if($_GET['page'] > $pageMax){ $currentPage = $pageMax; } } else{ $currentPage = $_GET['page']; } $firstUserOfPage = ($currentPage-1)*usersPerPage; echo $firstUserOfPage;
De plus, la dernière ligne
echo $firstUserOfPage;me renvoie -25, ce qui n'a absolument aucun sens.
Auriez-vous une idée d'où cela peut venir ?
Configuration: Windows / Firefox 86.0
A voir également:
- Pagination ne marche pas
- Pagination powerpoint - Guide
- Sommaire avec pagination - Guide
- Le fichier de pagination est insuffisant pour terminer cette opération ✓ - Forum Matériel & Système
- Pagination word - Guide
- Memoire insuffisante pour terminer l'opération - Forum PC portable
3 réponses
Dans tes tests, il y a un cas où tu ne lui assigna aucune valeur :
if(...)
{
if(...)
{
Assignation
}
}
else
{
Assignation
}
Bonjour,
conditions qui peuvent être simplifiées par l'écriture ternaire
NB : La méthode rowCount en PDO est déconseillée sur des requêtes de type "SELECT" ( voir la doc officielle )
conditions qui peuvent être simplifiées par l'écriture ternaire
// définit deuxième borne de l'intervalle define("usersPerPage", 25); $usersPerPage = 25; // définit première borne de l'intervalle $queryCol = $pdo -> query("SELECT id FROM utilisateur"); $usersTotal = $queryCol->rowCount(); //nombre de lignes dans la table $pageMax = ceil($usersTotal/usersPerPage); // page max = 4 $page = !empty($_GET['page']) && ctype_digit($_GET['page'])==1 ? intval($_GET['page']) : 1; $currentPage = $page > $pageMax ? $pageMax : $page; // un peu de debug pour voir ce qui se passe ... echo "<br>page : " . $page ; echo "<br>currentPage : " . $currentPage ; $firstUserOfPage = ($currentPage-1)*usersPerPage; echo $firstUserOfPage;
NB : La méthode rowCount en PDO est déconseillée sur des requêtes de type "SELECT" ( voir la doc officielle )