Les Allergies
Alimentaires
Posez votre question Signaler

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

jakkihm 117Messages postés 13 octobre 2006Date d'inscription - Dernière réponse le 2 févr. 2008 à 11:32
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 !
Lire la suite 

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

8 réponses
Réponse
+3
moins plus
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)
Ajouter un commentaire
Réponse
+3
moins plus
Hello,
Tutorial du feu de dieu pour tout comprendre sur l'affichage page par page:
http://www.phpdebutant.org/article84.php
:)
Ajouter un commentaire
Réponse
+1
moins plus
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 !
Ajouter un commentaire
Réponse
+1
moins plus
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 ?
Ajouter un commentaire
Réponse
+1
moins plus
GallyNet,
Je me base effectivement sur le nombre de lignes totales de ma bdd:
$row = mysql_num_rows($sql);
Ajouter un commentaire
Réponse
+1
moins plus
oberion,
Merci pour le tutoriel, je m'y plonge à l'instant.
Ajouter un commentaire
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Ce document intitulé « [PHP-MySQL] Afficher Résultats 10 à la fois » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?