Pagination, help me please
Résolu
Lucryio
Messages postés
206
Date d'inscription
Statut
Membre
Dernière intervention
-
Lucryio Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
Lucryio Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Tous d'abord, voila mon code de ma page :
Je fais appel à vous car, ce code me fais cela comme erreur :
Soit sur cette ligne :
Sachant qu'elle est déclaré à la ligne 43, soit cette ligne :
Il me met aussi cette erreur :
ce qui correspond à cette ligne :
Je suppose que cette erreur est dû à la non déclaration de la variable "$pagination" qui est pourtant déclaré.
Si vous pouviez m'aider.
Merci par avance.
Tous d'abord, voila mon code de ma page :
<?php include('config.php'); include('header2.php'); ?> <div id="content"> <div class="content_item"> <!-- modifier ci-dessous le titre qui apparaît dans la barre du navigateur entre > et < --> <div id="corps100"> <div id="users"><?php //On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo ?> <div id="left"><?php if(isset($_SESSION['username'])){echo 'Je te souhaite une bonne visite ' .htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8');} else { echo 'Bienvenue cher visiteur, inscrivez-vous <a href="sign_up.php">ici</a> ou connectez vous <a href="connexion.php">ici</a>, Bonne visite.'; } ?> <?php //Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter if(isset($_SESSION['username'])) { //On affiche les liens if(isset($_SESSION['username'])) ?> <?php } else { //Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter ?></br> <a href="sign_up.php">Inscription</a><br /> <a href="connexion.php">Se connecter</a></br></br></br></br> <?php // Numero de page (1 par <span class="uir593eqc" id="uir593eqc_18">défaut</span>) if( isset($_GET['page']) && is_numeric($_GET['page']) ) $page = $_GET['page']; else $page = 1; // Nombre d'info par page $pagination = 10; // Numéro du 1er enregistrement à lire $limit_start = ($page - 1) * $pagination; // Préparation de la requête $sql = "SELECT * FROM users LIMIT $limit_start, $pagination"; // Requête SQL $resultat = mysql_query($sql); // Traitement et affichage des données while ( $donnee = mysql_fetch_assoc($resultat) ) { } ?> </div> <div class="content"> <mark>Voici la liste des utilisateurs inscrits sur le site : </mark> <table> <tr> <th>Pseudo</th> <th>Rang</th> <th>Date d'inscription</th> </tr> <?php //On recupere les identifiants, les pseudos et les emails des utilisateurs $req = mysql_query('select id, username, email, DATE_FORMAT( signup_date, "%d/%m/%Y") as dt, rang from users ORDER BY "rang" '); while($dnn = mysql_fetch_array($req)) { ?> <tr> <td class="left"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a> </td> <td class="left"><?php echo htmlentities($dnn['rang'], ENT_QUOTES, 'UTF-8'); ?> </td> <td class="left"><?php echo htmlentities($dnn['dt'], ENT_QUOTES, 'UTF-8'); ?> </td> </tr> <?php } } // Nb d'enregistrement total $nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM users'); $nb_total = mysql_fetch_array($nb_total); $nb_total = $nb_total['nb_total']; // Pagination $nb_pages = ceil($nb_total / $pagination); echo '<p>[ Page :'; // Boucle sur les pages for ($i = 1 ; $i <= $nb_pages ; $i++) { if ($i == $page ) echo " $i"; else echo " <a href=\"?page=$i\">$i</a> "; } echo ' ]</p>'; ?> </table> </div> </div></div></div></div> <?php include('info-flash.php');?>
Je fais appel à vous car, ce code me fais cela comme erreur :
Notice: Undefined variable: pagination in C:\wamp\www\FC-LUCRYIO\user.php on line 90
Soit sur cette ligne :
$nb_pages = ceil($nb_total / $pagination);
Sachant qu'elle est déclaré à la ligne 43, soit cette ligne :
$pagination = 10;
Il me met aussi cette erreur :
Warning: Division by zero in C:\wamp\www\FC-LUCRYIO\user.php on line 90
ce qui correspond à cette ligne :
$nb_pages = ceil($nb_total / $pagination);
Je suppose que cette erreur est dû à la non déclaration de la variable "$pagination" qui est pourtant déclaré.
Si vous pouviez m'aider.
Merci par avance.
A voir également:
- Pagination, help me please
- 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
4 réponses
Bonsoir,
en lignes 81 et 82 il y a des accolades qui correspondent à des structures if qui neutralisent l'instanciation de votre variable $pagination
A+
en lignes 81 et 82 il y a des accolades qui correspondent à des structures if qui neutralisent l'instanciation de votre variable $pagination
A+
Si je les retires, ça me met une erreur et ma page ne s'affiche pas.
Si quelqu'un d'autre aurait une idée, je suis preneur.
Merci par avance.
Si quelqu'un d'autre aurait une idée, je suis preneur.
Merci par avance.
Le souci que j'ai c'est que ma variable "pagination" n'est soit disant pas déclarée alors qu'elle l'est.
Et là, je ne trouve pas ou est le problème.
Pouvez-vous m'aider sur mon code ?
Merci par avance.
Et là, je ne trouve pas ou est le problème.
Pouvez-vous m'aider sur mon code ?
Merci par avance.
<?php include('config.php'); include('header2.php'); ?> <div id="content"> <div class="content_item"> <!-- modifier ci-dessous le titre qui apparaît dans la barre du navigateur entre > et < --> <div id="corps100"> <div id="users"> <?php //On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo ?> <div id="left"><?php if(isset($_SESSION['username'])){echo 'Je te souhaite une bonne visite ' .htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8');} else { echo 'Bienvenue cher visiteur, inscrivez-vous <a href="sign_up.php">ici</a> ou connectez vous <a href="connexion.php">ici</a>, Bonne visite.'; } ?> <?php //Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter if(isset($_SESSION['username'])) { //On affiche les liens if(isset($_SESSION['username'])) ?> <?php } else { //Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter ?></br> <a href="sign_up.php">Inscription</a><br /> <a href="connexion.php">Se connecter</a></br></br></br></br> <?php } ?></div> <div class="content"> <mark>Voici la liste des utilisateurs inscrits sur le site : </mark> <table> <tr> <th>Pseudo</th> <th>Rang</th> <th>Date d'inscription</th> </tr> <?php // Numero de page (1 par <span class="s7p7oe5766j" id="s7p7oe5766j_18">défaut</span>) if( isset($_GET['page']) && is_numeric($_GET['page']) ) $page = $_GET['page']; else $page = 1; // Nombre d'info par page $pagination = 20; // Numéro du 1er enregistrement à lire $limit_start = ($page - 1) * $pagination; // Préparation de la requête $dn = 'SELECT id, username, email, DATE_FORMAT( signup_date, "%d/%m/%Y %H:%i:%s") as dt, rang from users ORDER BY "rang" LIMIT $limit_start, $pagination'; // Requête SQL $resultat = mysql_query($dn); // Traitement et affichage des données while ( $dnn = mysql_fetch_assoc($resultat) ) { ?> <tr> <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td> <td class="left"><?php echo htmlentities($dnn['rang'], ENT_QUOTES, 'UTF-8'); ?> </td> <td class="left"><?php echo htmlentities($dnn['dt'], ENT_QUOTES, 'UTF-8'); ?> </td> </tr> <?php } // Nb d'enregistrement total $nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM users'); $nb_total = mysql_fetch_array($nb_total); $nb_total = $nb_total['nb_total']; // Pagination $nb_pages = ceil($nb_total / $pagination); echo '<p>[ Page :'; // Boucle sur les pages for ($i = 1 ; $i <= $nb_pages ; $i++) { if ($i == $page ) echo " $i"; else echo " <a href=\"?page=$i\">$i</a> "; } echo ' ]</p>'; ?> </table> </div> </div></div></div></div> <?php include('info-flash.php');?>
Voila mon nouveau code, alors j'ai un souci qui me dit ça :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\FC-LUCRYIO\user.php on line 68
ce qui correspond à cette ligne :
while ( $dnn = mysql_fetch_assoc($resultat) )
Pouvez-vous m'aider ?
Merci par avance.
script revu et corrigé à tester:
<?php include('config.php'); include('header2.php'); ?> <div id="content"> <div class="content_item"> <!-- modifier ci-dessous le titre qui apparaît dans la barre du navigateur entre > et < --> <div id="corps100"> <div id="users"> <?php //On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo ?> <div id="left"> <?php if (isset($_SESSION['username'])): ?> Je te souhaite une bonne visite <?php echo htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8'); ?> <?php else: ?> Bienvenue cher visiteur, inscrivez-vous <a href="sign_up.php">ici</a> ou connectez vous <a href="connexion.php">ici</a>, Bonne visite <?php endif; ?> <?php if (isset($_SESSION['username'])): ?> <!-- Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter //On affiche les liens --> <?php else: ?> <!-- Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter --> <br/> <a href="sign_up.php">Inscription</a><br /> <a href="connexion.php">Se connecter</a></br></br></br></br> <?php endif; ?> </div> <div class="content"> <mark>Voici la liste des utilisateurs inscrits sur le site : </mark> <table> <tr> <th>Pseudo</th> <th>Rang</th> <th>Date inscription</th> </tr> <?php // Numero de page (1 par <span class="s7p7oe5766j" id="s7p7oe5766j_18">défaut</span>) if (isset($_GET['page']) && is_numeric($_GET['page'])) { $page = $_GET['page']; } else { $page = 1; } // Nombre d'info par page $pagination = 20; // Numéro du 1er enregistrement à lire $limit_start = ($page - 1) * $pagination; // Préparation de la requête $dn = "SELECT id, username, email, " . "DATE_FORMAT( signup_date, '%d/%m/%Y %H:%i:%s') as dt, " . "rang from users ORDER BY 'rang' LIMIT $limit_start,$pagination "; // Requête SQL $resultat = mysql_query($dn); // Traitement et affichage des données ?> <?php while ($dnn = mysql_fetch_assoc($resultat)): ?> <tr> <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td> <td class="left"><?php echo htmlentities($dnn['rang'], ENT_QUOTES, 'UTF-8'); ?> </td> <td class="left"><?php echo htmlentities($dnn['dt'], ENT_QUOTES, 'UTF-8'); ?> </td> </tr> <?php endwhile; ?> </table> <?php // Nb d'enregistrement total $nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM users'); $nb_total = mysql_fetch_array($nb_total); $nb_total = $nb_total['nb_total']; // Pagination $nb_pages = ceil($nb_total / $pagination); ?> <p>[ Page : <?php for ($i = 1; $i <= $nb_pages; $i++): ?> <?php if ($i == $page): ?> <?php echo $i; ?> <?php else: ?> <a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a> <?php endif; ?> <?php endfor; ?> ]</p> </div> </div> </div> </div> </div> <?php include('info-flash.php'); ?>
Je n'ai affiché aucune requête SQL.
Le caractère "." en php est le caractère de concaténation : https://www.php.net/manual/fr/language.operators.string.php
Les "..." après le while n'existe pas en php, c'est juste pour indiquer de mettre la suite de ton code.
Le caractère "." en php est le caractère de concaténation : https://www.php.net/manual/fr/language.operators.string.php
Les "..." après le while n'existe pas en php, c'est juste pour indiquer de mettre la suite de ton code.