Limite nbre resultat dans un tableau

DiGiTel -  
 DiGiTel -
bonjour,
je mets en place" une petite base de donnees.
l user saisie un nom ou un debut de nom et s affiche le resultat.
Mais je souhaiterai limiter le nombre de résultat a 40. comment faire SVP ? voici les quelques lignes de ma page php:

$VilleSaisie=$VilleSaisie."%";
$db = mysql_connect("sql.free.fr", "pseudo", "pass");
mysql_select_db("base",$db);
$req = mysql_query("SELECT CP,VIlle FROM France WHERE Ville LIKE '$VilleSaisie%'");
echo"$res";
$res = mysql_numrows($req);
$i=0;
WHILE($res!=$i)
{
$cplu = mysql_result($req,$i,"CP");
$villelue=mysql_result($req,$i,"Ville");
echo "<b>$cplu &nbsp;</b>&nbsp;&nbsp; $villelue<BR>";
$i++;
}
mysql_close();

Jesuis tres neophyte, donc pas doué, merci de me donner un exemple concret, ou meme l exemple dans ma page

Merci a tous ;)
A voir également:

3 réponses

Benouith Messages postés 2210 Date d'inscription   Statut Membre Dernière intervention   50
 
La boucle for suivante va afficher 40 lignes (ou moins si la requête n'en retourne pas autant) :

for ($i = 0 ; $i < 40, $rrow = mysql_fetch_row($result) ; $i++)
{
echo "<b>$rrow[0]</b> : $rrow[1]<br>";
}

L'intérêt de mettre le fetch_row dans la condition du "for" est d'arrêter la boucle s'il n'y a plus de ligne à retourner. Il faut bien sûr faire tourner cette boucle autant de fois que tu auras des "paquets" de 40 lignes à faire afficher. Le nombre d'enregistrement retournés peut être obtenu par :
$nbrec = mysql_num_rows($res);

A +.
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Sinon, pour accelerer la requete, tu mest Select First(40) et il ne te retournera que les 40 premiers resultats trouves...Ca permet d'eviter qu'il se tape toute la table si seul 40 resultats t'interessent...
.  .
\_/
0
DiGiTel
 
Merci pour vos reponses. voici ce que j ai ecris mais ca a pas l air de bien fonctionner:

$VilleSaisie=$VilleSaisie."%";
$db = mysql_connect("sql.free.fr", "pseudo", "pass");
mysql_select_db("digitel",$db);
$req = mysql_query("SELECT CP,VIlle FROM France WHERE Ville LIKE '$VilleSaisie%'");
echo"$res";
$res = mysql_numrows($req);
$i=0;
WHILE($res!=$i)

for ($i = 0 ; $i < 40, $rrow = mysql_fetch_row($result) ; $i++)
{
echo "$rrow[0] : $rrow[1]";
}

{
$cplu = mysql_result($req,$i,"CP");
$villelue=mysql_result($req,$i,"Ville");
echo "<b>$cplu &nbsp;</b>&nbsp;&nbsp; $villelue<BR>";
$i++;
}
mysql_close();

j ai merdu quelquepart ?
merci ;)
0