Rechercher : dans
Par :

La boucle while en php

Dernière réponse le 23 oct 2007 à 12:13:10 Loulou, le 4 oct 2006 à 15:46:58 
 Signaler ce message aux modérateurs

Bonjour,

j'ai une requete qui s'execute normal sur sqlserver et me donne plusieurs enregistrements comme résultat mais si je copie cette requete dans une partie du code php et je manipule le résultat dans une boucle while , je remarque que le programme sort de la boucle while avec le traitement qui s' est fait sur le 1 er enregistrement seulement comme si on a un seul enregistrement et continu le reste du code normal.
je veux une explication de ça et merci d'avance.

Meilleures réponses pour « la boucle while en php » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
Java: Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Javascript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle' On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts : Instruction...

1

oberion, le 4 oct 2006 à 16:35:44

Bonjour,

Sans code, pas d'explication.
Cdlt.

Répondre à oberion

2

 chanteur06, le 23 oct 2007 à 12:13:10

Bonjour,
J'ai un soucis que je ne comprend pas avec while:
seul le 1er enregistrement sur la base de test est sortie (en local sur easy php)
bien que plusieurs animaux du mm type soit enregistrés,le résultat n'en affiche qu'un!
si quelqu'un peut m'éclairer...
merci

// Sélection des animaux d'une catégorie donnée
$query = "SELECT * FROM animal
WHERE animalType=\"{$_POST['interet']}\""; #24
$result = mysql_query($query)
or die ("Exécution de la requête impossible");

// Affiche les résultats dans un tableau
echo "<table cellspacing='10' border='0' cellpadding='0' width='100%'>"; #29

echo "<tr><td colspan='5' align='right'>
<i>Cliquez sur une image pour l'afficher en grand</i><br><hr>
</td></tr>\n";
while ($ligne = mysql_fetch_array($result,MYSQL_ASSOC) ) #34
{ $f_prix = number_format($ligne['animalPrix'],2);

// Y a-t-il plusieurs couleurs ?
$query = "SELECT * FROM Couleur WHERE animalNom='{$ligne['animalNom']}'"; #38

$result2 = mysql_query($query) or die(mysql_error()); #40
$nbCouleurs = mysql_num_rows($result2); #41

// Affiche une ligne pour chaque animal
echo "<tr>\n";
echo "<td>{$ligne['animalID']}</td>\n";
$nomAnimal = stripslashes($ligne['animalNom']);
echo "<td><font size='+1'><b>$nomAnimal</b></font></td>\n";
echo "<td>{$ligne['animalDescription']}</td>\n";
// Affiche l'image s'il n'y a pas plusieurs couleurs
if ($nbCouleurs <= 1) #50
{ echo "<td><a href='../images/{$ligne['animalImage']}'
border='0'>
<img src='images/{$ligne['animalImage']}' border='0'
width='100' height='80'></a></td>\n";
}
echo "<td align='center'>$f_prix €</td>\n
</tr>\n";
// Affiche une ligne pour chaque couleur si plusieurs couleurs
if ($nbCouleurs > 1) #59
{ while ($ligne2 = mysql_fetch_array($result2,MYSQL_ASSOC))
{ echo "<tr><td colspan=2> </td>
<td>{$ligne2['animalCouleur']}</td>
<td><a href='../images/{$ligne2['animalImage']}'
border='0'>
<img src='../images/{$ligne2['animalImage']}' border='0'
width='100' height='80'></a></td>\n";
}
}
echo "<tr><td colspan='5'><hr></td></tr>\n";
}
echo "</table>\n";
echo "<div align='center'>
<a href='catalogue.php'><b>Pour en voir d'autres</b></a></div>";
?>

Dc les types sont tous affichés mais pas les résultats escomptés........

Répondre à chanteur06