Version complète: sur le forum Webmaster Hub : Nombre max d'entré par page
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
marvine28
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).


CODE
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_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 smile.gif

merci

EDIT: Désolé si un modo peut changer le message de place.
ymhotep
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 :
CODE
 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 :
CODE
$reponse = mysql_query("SELECT * FROM jeux_videos LIMIT $ligneDebut, 20);


Enfin, tes liens Suivant et Précédents seront de cette forme :
CODE
 <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 :
CODE
$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.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.