Limite nbre resultat dans un tableau
DiGiTel
-
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 </b> $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 ;)
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 </b> $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:
- Limite nbre resultat dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
3 réponses
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 +.
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 +.
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...
. .
\_/
. .
\_/
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 </b> $villelue<BR>";
$i++;
}
mysql_close();
j ai merdu quelquepart ?
merci ;)
$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 </b> $villelue<BR>";
$i++;
}
mysql_close();
j ai merdu quelquepart ?
merci ;)