Aller au contenu

Problème avec IF et ELSEIF


Sujets conseillés

Posté

Bonjour,

J'ai un petit problème, sûrement de syntaxe comme d'habitude mais je n'arrive pas à localiser l'erreur. J'ai voulu insérer deux conditions, if, et elseif. Voici mon code :

    
{
   $query45 = "SELECT FlightNb,Landed,Callsign FROM rapport WHERE Immat = '$immat' AND Valid = '2' ORDER BY Time";
   $result45 = mysql_query($query45)
   or die("Erreur. La page est peut être en construction.");
   while( $val45 = mysql_fetch_array($result45) ) {
   $pilote = $val45["Callsign"]
    ?>
   </b><?
   if($pilote!=$callsign) { ?></font><font color="#6BBFFE">
   <i>-<? echo $val45['FlightNb']; ?>></i><b> <? echo $val45['Landed']; ?> </font><font color="#0033cc" face="Verdana">
   <?
    }
   ?>
   <?
   elseif ($pilote=$callsign) { ?>
   <i>-<? echo $val45['FlightNb']; ?>></i><b> <? echo $val45['Landed']; ?> <?
    }
  }
}

Voilà, il me dit que j'ai une erreur à la ligne du elseif, voici l'erreur :

Parse error: parse error, unexpected T_ELSE in /var/www/free.fr/9/9/va.skyjet/modules/SJT001/index.php on line 422

Quelqu'un pourrait m'aider SVP ? Merci :

Posté


{
$query45 = "SELECT FlightNb,Landed,Callsign FROM rapport WHERE Immat = '$immat' AND Valid = '2' ORDER BY Time";
$result45 = mysql_query($query45) or die("Erreur. La page est peut être en construction.");
while( $val45 = mysql_fetch_array($result45) ) {
$pilote = $val45["Callsign"];
echo '</b>';
if($pilote!=$callsign) {
echo '</font><font color="#6BBFFE"><i>'.$val45['FlightNb'].'></i><b>'.$val45['Landed'].'</font><font color="#0033cc" face="Verdana">';
}
elseif ($pilote==$callsign)
{
echo '<i>-'.$val45['FlightNb'].'></i><b>'.$val45['Landed'];
}
}
}

Ne pas confondre == et =

Posté (modifié)

Tu as passé ton code en md5 ou quoi ? :huh:

C'est illisible: pas indenté, pas de retour à la ligne, même les variables ont des noms compliqués :!: ($result45, $var45, ...) sans parler des balises html dépréciées comme <font> :nono:

Un conseil: change tes habitudes de codage car tu ne t'y retrouveras jamais (la preuve c'est que tu postes ;) )

Pour ton problème, il te manque des ; un peu partout dans ton code et tu semble confondre = (opérateur d'affectation) avec == (opérateur de condition) ;)

Modifié par MS-DOS_1991
Posté

Salut MSDOS, c'est vrai que je suis pas un pro en codage, pour le val45 c'est que j'ai 45 boucles à faire sur la page donc...

Sinon, pourquoi le <font> n'est pas accepté ?

Posté

45 boucles sur une page ? Et 45 requetes sql aussi ?

Ah mon avis, il doit y avoir moyen d'optimiser ton script.

ps : rien ne t'empeche d'appeller ta variable $result (sans chiffre après) à chaque fois, ça ne devrait pas poser de problème si tu exploites les resultats directement après la requete.

Posté

Ah ça je ne le savais pas Sonia, je vais l'essayer alors, merci ;) !

Je pensait qu'il fallait toujours faire une boucle avec mysql_fetch_array ou quelque chose comme ça...

@+++

Posté

Salut

Sinon, pourquoi le <font> n'est pas accepté ?
Parce qu'il est déprécié par le w3c et cette manière de coder présente pas mal d'inconvénients.

Mais là on quitte le sujet du PHP et on entre dans l'HTML et le CSS.

Afin d'éviter le hors-sujet, je te propose:

- de lire ces 2 articles les standards du web et les feuilles de style

- de poser tes éventuelles questions dans le forum(X) HTML&CSS

Posté

Tu peux nous poster les valeurs de ... 40 à 45 (par exemple), histoire de voir comment on peut ne faire qu'une seule boucle de tes 45 requètes ?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...