[PHP-MySQL] Afficher Résultats 10 à la fois

[Résolu/Fermé]
Signaler
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
-
 pphKoder -
Bonjour,

Je cherche à afficher les résultats d'une requête 10 à la fois.
La requête que j'ai conçue et qui affiche les résultats dans un tableau fonctionne,
mais je ne voudrais afficher que les 10 premiers résultats et proposer de voir les
autres grâce à un lien.

Voici le code qui affiche mes données:
<form action="mobTables.php" method="POST">
<table cellspacing="0" cellpadding="5" border="0">
	<tr>
		<th></th>
		<th>Nom</th>
		<th>Description</th>
		<th>Pays</th>
	</tr>
	<?php
	// display data in table
	if($sql) { 
		while($data = mysql_fetch_assoc($sql)) {  
			echo '<tr>
  					<td><a href='.$data['photo'].' onClick="window.open(\''.$data['photo'].'\',\'\',\'width=500 height=500,scrollbars=yes,resizable=yes\'); return false;"><img src="'.$data['photo'].'" width="70" height="70" alt="'.$data['name'].'"></a></td>
				  	<td>'.$data['name'].'</td>
  					<td>'.$data['description'].'</td>
  					<td>'.$data['country'].'</td>
				  </tr>';
		}  // end while
		if(mysql_num_rows($sql) == 0) { 
			$msg.="Aucune information disponible";
		}
	} // end if $sql 
	echo "<p class=\"errorMsg\">$msg</p>";
	// disconnection
	mysql_close();
	?>
</table>
</form>


Merci de votre aide !

8 réponses

Messages postés
1253
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
29 septembre 2007
249
Hello,
Tutorial du feu de dieu pour tout comprendre sur l'affichage page par page:
http://www.phpdebutant.org/article84.php
:)
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
381
Le principe est asse zsimple :
dans ta requete, tu rajoute une limitation du nombre d'enregistrement a afficher. Tu rajoute LIMIT 0,10
Ce qui fait que tu affiche les résultats a partir de la ligne 0, et que tu affiche 10 lignes.
Le lien sur lequel tu clique, doit envoyer à la page, a partir d'ou il faut afficher les enregistrement. Dans ce cas, c'est 10. sur la page suivant ce sera 20, etc...
Et il suffit de faire de meme pour le retour (sauf quand on arrive à 0, il ne faut pas mettre de retour)
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
6
Merci GallyNet,

La fonction LIMIT est exactement celle dont je nécessitais.

Toutefois, lorsqu'une requête est exécutée je ne connais pas d'avance le nombre de résultats à afficher, ni par conséquent le nombre de pages nécessaires à l'affichage des résultats.

Existe-t-il un moyen de refaire une QUERY sur la même page, mais en affichant les 10 résultats suivants (LIMIT 10,20).

Merci encore !
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
381
Sur quoi tu te base pour connaitre le nombre de lignes a afficher ? Sur le nombre total de ligne dans la base, ou sur un autre paramètre ?
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
6
GallyNet,
Je me base effectivement sur le nombre de lignes totales de ma bdd:
$row = mysql_num_rows($sql);
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
6
oberion,
Merci pour le tutoriel, je m'y plonge à l'instant.
Messages postés
2884
Date d'inscription
samedi 29 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
818
Salut.


Avec LIMIT, oui tu peux choisir d'ou partir (1° paramètre) et combien en prendre (2° paramètre).

Par exemple, j'en prend 5 à partir de l'enregistrement 20 :
... LIMIT 20,5

Si tu veux partir de 0 (LIMIT 0,X), tu peux mettre simplement "LIMIT X" sans 0.
j'ai besoin avoir un saut de page apres chaque 10 enregistrement a la fois .par exemple :j'ai 30 enregistrement je vait les afficher sur trois pages.merci bien
il faut savoir lire...
savoir lire plus haut que la dernière réponse donnée...
donc savoir lire et trouver : le tutoriel dont le lien est donné plus haut.
excellent ! Merci pour ce lien