PHP mettre une condition dans une boucle while

Signaler
Messages postés
22
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
13 octobre 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bojour,

je suis débutant en php et je n'arrive pas à intégrer ma condition dans ma boucle while.
L'execution du fichier me met une erreur : syntax error, unexpected T_ELSEIF .

Voici mon code si quelqu'un pouvait m'aider s'il vous plait :

<?php
while($donnees = mysql_fetch_array($query)) // on fait un while pour afficher la liste des fonctions trouvées, ainsi que l'id qui permettra de faire le lien vers la page de la fonction
{


?>
<?php
if($donnees['id_famille']<=18){?>
[javascript:popup('fiche_produit_ansmann.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}
<?php
elseif($donnees['id_famille']>18&&<25){?>
[bw.php <?php
 echo $donnees['produit'];?>

]}
<?php
elseif($donnees['id_famille']>24&&<30){?>
[javascript:popup('fiche_produit_gc.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}
<?php
elseif($donnees['id_famille']==30){?>
[javascript:popup('fiche_produit_joby.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}
<?php
elseif($donnees['id_famille']>30&&<62){?>
[javascript:popup('fiche_produit_lowepro.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}
<?php
elseif($donnees['id_famille']>61&&<67){?>
[javascript:popup('fiche_produit_steiner.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}
<?php
else{?>
[javascript:popup('fiche_produit_sc.php?id=<?php echo $donnees['id']; ?>','popup_1'); <?php
 echo $donnees['produit'];?>

]}




<?php echo $donnees['reference']; ?>

<?php
} // fin de la boucle
?>




<?php
} // fini d'afficher les résultats ! Maintenant, nous allons afficher l'éventuelle erreur en cas d'échec de recherche et le formulaire.
else
{ // de nouveau, un peu de HTML
?>

Pas de résultats

Nous n'avons trouvé aucun résultats pour votre requête "

1 réponse

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
hello,

else ne suit pas un while.
else suit un if ou un elseif.
Bref :
if(mysql_num_rows($query) === 0) {
// pas de résultat
} else {
while(...) {
}
}