LiL'SkiSo Posté 22 Février 2006 Posté 22 Février 2006 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 :
Théo B. Posté 22 Février 2006 Posté 22 Février 2006 {$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 =
MS-DOS_1991 Posté 22 Février 2006 Posté 22 Février 2006 (modifié) Tu as passé ton code en md5 ou quoi ? 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> 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é 22 Février 2006 par MS-DOS_1991
LiL'SkiSo Posté 22 Février 2006 Auteur Posté 22 Février 2006 Ooops, désolé, c réglé, j'avais mal uploader sur le serveur, merci beaucoup Théo
LiL'SkiSo Posté 22 Février 2006 Auteur Posté 22 Février 2006 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é ?
Sonia Gazil Posté 22 Février 2006 Posté 22 Février 2006 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.
LiL'SkiSo Posté 22 Février 2006 Auteur Posté 22 Février 2006 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... @+++
captain_torche Posté 22 Février 2006 Posté 22 Février 2006 Techniquement, si le traitement de tes 45 requêtes est identique, tu peux mettre ce traitement dans une boucle for (par exemple).
Dudu Posté 22 Février 2006 Posté 22 Février 2006 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
Anonymus Posté 22 Février 2006 Posté 22 Février 2006 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 ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant