Pagination ne marche pas
charline159
Messages postés
216
Statut
Membre
-
charline159 Messages postés 216 Statut Membre -
charline159 Messages postés 216 Statut Membre -
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
- Pagination google doc a partir de la page 3 ✓ - Forum Bureautique
- Pagination word - Guide
- Le fichier de pagination est insuffisant pour terminer cette 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 )