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

Résolu
jakkihm Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   -  
 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 !
A voir également:

8 réponses

oberion Messages postés 1253 Date d'inscription   Statut Membre Dernière intervention   248
 
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   Statut Membre Dernière intervention   387
 
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   Statut Membre Dernière intervention   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 !
1
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   6
 
oberion,
Merci pour le tutoriel, je m'y plonge à l'instant.
1
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
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
rafiko
 
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
pphKoder
 
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