marvine28 Posté 17 Janvier 2006 Posté 17 Janvier 2006 (modifié) Bonjour, j'ai un code que j'ai pris sur le siteduzero pour lire et affichers des entrés d'une base de donné, mon code affiche toute les résultats de la table ce que je voudrais faire c'est afficher 20 résultats (entrés) par page et avoir des liens "Présédent" et "Suivant" au bas de la page. Je sais que sa prend ce truc: $GET (mais je sais pas où le mettre et comment). <?phpmysql_connect("localhost", "root", ""); // Connexion à MySQLmysql_select_db("test"); // Sélection de la base coursphp$reponse = mysql_query("SELECT * FROM jeux_videos"); // Requête SQL// On fait une boucle pour lister tout ce que contient la table :while ($donnees = mysql_fetch_array($reponse) ){?><p><gras>Jeu</gras> : <?php echo $donnees['nom']; ?><br />Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à <?php echo $donnees['prix']; ?> euros !<br />Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à <?php echo $donnees['nbre_joueurs_max']; ?> au maximum<br /><?php echo $donnees['possesseur']; ?> a laissé ces commentaires sur <?php echo $donnees['nom']; ?> : <em><?php echo $donnees['commentaires']; ?></em></p><?php}mysql_close(); // Déconnexion de MySQL?> Donc il faut mettre une boucle à 20 entré par page + $GET + liens suivant et précédent. Si quelqu'un pourrait m'aider ça serait bien aimable merci EDIT: Désolé si un modo peut changer le message de place. Modifié 17 Janvier 2006 par marvine28
ymhotep Posté 20 Janvier 2006 Posté 20 Janvier 2006 (modifié) Salut, Pour créé des résultats multi-pages, tu dois tout d'abord récupérer le numéro de la page sur laquelle se trouve l'utilisateur avec par exemple : if (isset($_GET["numPage"])) $pageCourante = $_GET["numPage"]; else $pageCourante = 1; Ensuite tu dois imiter le nombre de résultat à récupérer par la requete à l'aide de LIMIT ligneDebut, NbLignes. Pour calculer la valeur de ligneDebut tu peux faire : $ligneDebut = ($pageCourante * 20) - 20 Ensuite dans la requete, on a : $reponse = mysql_query("SELECT * FROM jeux_videos LIMIT $ligneDebut, 20); Enfin, tes liens Suivant et Précédents seront de cette forme : <a href="ma_page.php?numPage=$pageCourante-1>Précédent</a> <a href="ma_page.php?numPage=$pageCourante+1>Suivant</a> Juste pour complément, si tu souhaite afficher en plus de Suivant et Précédent des liens pour chaque page, il faut que tu calcules le nombre total de lignes ramené par la requete générale et que tu divises ce nombre par le nombre de lignes à afficher : $res = mysql_query(SELECT count(1) FROM jeux_videos); $row = mysql_fetch_row($res); $ligneTotal = $row[0]; $nbPage = ceil($ligneTotal / 20); Ensuite tu affiche les liens de la meme facon que pour suivant et précédent. Voila, j'espère que cela t'aidera. Modifié 20 Janvier 2006 par ymhotep
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant