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

Résolu/Fermé
jakkihm Messages postés 134 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 17 mai 2016 - 8 févr. 2007 à 12:36
 pphKoder - 7 juil. 2014 à 16:13
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 !
A voir également:

8 réponses

oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
8 févr. 2007 à 17:30
Hello,
Tutorial du feu de dieu pour tout comprendre sur l'affichage page par page:
http://www.phpdebutant.org/article84.php
:)
4
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 387
8 févr. 2007 à 14:59
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)
3
jakkihm Messages postés 134 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 17 mai 2016 6
8 févr. 2007 à 15:24
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 !
1
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 387
8 févr. 2007 à 16:45
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 ?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jakkihm Messages postés 134 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 17 mai 2016 6
8 févr. 2007 à 17:50
GallyNet,
Je me base effectivement sur le nombre de lignes totales de ma bdd:
$row = mysql_num_rows($sql);
1
jakkihm Messages postés 134 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 17 mai 2016 6
8 févr. 2007 à 17:55
oberion,
Merci pour le tutoriel, je m'y plonge à l'instant.
1
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
9 févr. 2007 à 17:03
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.
1
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
1
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
0