Pagination, help me please
Résolu/Fermé
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
-
Modifié par Lucryio le 29/01/2014 à 20:07
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 30 janv. 2014 à 17:51
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 30 janv. 2014 à 17:51
A voir également:
- Pagination, help me please
- Pagination powerpoint - Guide
- Sommaire avec pagination - Guide
- Indesign pagination à partir de la 2ème page - Forum InDesign
- Pagination google doc à partir de la page 3 ✓ - Forum Word
- Pagination Google Docs - Forum Google Docs
4 réponses
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
29 janv. 2014 à 20:34
29 janv. 2014 à 20:34
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+
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
29 janv. 2014 à 20:43
29 janv. 2014 à 20:43
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.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
29 janv. 2014 à 20:57
29 janv. 2014 à 20:57
C'est pas une question de les retirer, c'est un problème d'imbrication des tests if et tout le toutim.... Cherchez un peu
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
29 janv. 2014 à 21:14
29 janv. 2014 à 21:14
ça fais déjà 2h que je cherche, du moins ça faisait au moins 2h que je cherchais mon erreur avant de poster mon message.
Je suis perdu là.
Je suis perdu là.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
29 janv. 2014 à 22:50
29 janv. 2014 à 22:50
Cherches encore petit scarabée. ...
Une piste: mettez
echo "xxx";
Sur la ligne qui instancie la variable
Puis executez le script. Si xxx s affiche pas c'est que un if execute mal la partie de code ou se trouve echo
Bon courage
Une piste: mettez
echo "xxx";
Sur la ligne qui instancie la variable
Puis executez le script. Si xxx s affiche pas c'est que un if execute mal la partie de code ou se trouve echo
Bon courage
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
29 janv. 2014 à 23:20
29 janv. 2014 à 23:20
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.
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
30 janv. 2014 à 00:23
30 janv. 2014 à 00:23
<?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.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
Modifié par mpmp93 le 30/01/2014 à 09:53
Modifié par mpmp93 le 30/01/2014 à 09:53
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'); ?>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 30/01/2014 à 09:54
Modifié par Pitet le 30/01/2014 à 09:54
Salut,
$resultat = mysql_query($dn); if (!$resultat) { die('Erreur sql : ' . mysql_error()); } while ( $dnn = mysql_fetch_assoc($resultat) ) ...
Lucryio
Messages postés
204
Date d'inscription
samedi 4 janvier 2014
Statut
Membre
Dernière intervention
4 juin 2017
30 janv. 2014 à 10:05
30 janv. 2014 à 10:05
ça fonctionne nikel, merci beaucoup pour ton aide et ta patience.
j'ai vue que tu avais mis des "." dans la requête SELECT pour la date ?
tu pourrais me dire par MP pourquoi faut faire comme ça ? j'ai pas très bien compris en faite.
j'ai vue que tu avais mis des "." dans la requête SELECT pour la date ?
tu pourrais me dire par MP pourquoi faut faire comme ça ? j'ai pas très bien compris en faite.
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
30 janv. 2014 à 10:12
30 janv. 2014 à 10:12
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.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
Modifié par mpmp93 le 30/01/2014 à 14:04
Modifié par mpmp93 le 30/01/2014 à 14:04
Les "." sont des cncaténations;
Au lie d'écrire
echo "ceci est une très longue phrase"
on fait
echo "ceci est "
. "une très longue "
. "phrase";
Ca rend le code SQL plus lisible
Au lie d'écrire
echo "ceci est une très longue phrase"
on fait
echo "ceci est "
. "une très longue "
. "phrase";
Ca rend le code SQL plus lisible