Aller au contenu

Nombre max d'entré par page


Sujets conseillés

Posté (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).

<?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 :)

merci

EDIT: Désolé si un modo peut changer le message de place.

Modifié par marvine28
Posté (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é par ymhotep

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...