A voir également:
- La boucle while en php
- Easy php - Télécharger - Divers Web & Internet
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle cmd - Forum Programmation
2 réponses
oberion
Messages postés
1253
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
29 septembre 2007
248
4 oct. 2006 à 16:35
4 oct. 2006 à 16:35
Bonjour,
Sans code, pas d'explication.
Sans code, pas d'explication.
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........
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........