Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/04/2011, 14h52   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 92
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 92
Points : 15
Points : 15
Par défaut faute de syntaxe ELSE sur 3 conditions

bonjour ,on m'a aider hier , sur une requete à 1 conditions . Là j ai essayé d'appliquer pour 2 conditions et je n'y arrive toujours pas...Qui peut m'aider?

L'histoire : j ai besoin d'afficher soit une photo , soit une vidéo, soit un message si ni l un ni l autre n'est present...et j y arrive pas malgré elseif >>>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
   1. <?
   2. if(trim($r["youtube_link"])!='')
   3. {
   4. echo '<div style="float:left;margin-top:5px;">
   5.   <object width="490" height="325">
   6.    <param name="movie" value="'.$r['youtube_link'].'"></param>
   7.    <param name="allowFullScreen" value="true"></param>
   8.    <param name="allowscriptaccess" value="always"></param>
   9.    <param name="wmode" value="transparent" /></param>
  10.    <embed src="'.$r['youtube_link'].'" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true" width="490" height="325"></embed>
  11.   </object>
  12.  </div>';
  13. }
  14. else
  15. {
  16. $tab_photos=array();
  17. for($i=1;$i<=1;$i++)
  18. {           
  19.  $path_img2 = 'photos/'.$r["id"].'_'.$i.'.jpg';
  20.  if(file_exists($path_img2))
  21.  {
  22.   $tab_photos[]=array($i,$id_resto,$path_img2);
  23.  }
  24. }
  25. $cpt=1;
  26. foreach($tab_photos as $val)
  27. {
  28.  echo '<div style="float:left;margin-top:5px;width:490px;background-image:url(fondhaut.jpg); background-repeat:repeat-x;">
  29.   <center><img src="'.$val[2].'" width="300" height="325"/></center>
  30.   </div>';
  31. }
  32. }
  33. else
  34. {
  35. echo'<div style="float:left;width:540px;height:75px;margin:12px 5px 0px 15px;">non disponible</div>';
  36. }
  37. ?>
Merci
chanteur06 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 16/04/2011, 14h57   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Comme il t'a été déjà indiqué dans l'autre message, il FAUT indenter ton code proprement.
Tes erreurs de constructions deviendront évidentes.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 15h47   #3
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Et sinon à quoi sert cette boucle ?

Code php :
1
2
3
 
for($i=1;$i<=1;$i++)
...
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2011, 12h12   #4
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 92
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 92
Points : 15
Points : 15
Le probleme est que c'est un dev qui a fait ce code , je ne fais que le reprendre par manque de moyen ... et voilà toute mes limites , donc pour moi je ne vois pas les indentations incorrectes :-(

Merci de votre aide
chanteur06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2011, 12h24   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
tu ne vois pas que tout est au meme niveau ?
Code :
1
2
3
4
<?
   if(trim($r["youtube_link"])!='')
   {
   echo '<div style="float:left;margin-top:5px;">
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 09h41   #6
Membre éclairé
 
Avatar de FredPsy
 
Homme Frédéric BERTHORELLY
Formateur en informatique
Inscription : décembre 2006
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BERTHORELLY
Âge : 35
Localisation : Djibouti

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 270
Points : 318
Points : 318
Bonjour, déjà, on ne voit pas dans ton code de structure elseif

Une structure complète de ce type doit se présenter sous cette forme (mon indentation -les espaces, entrées et les tabulations - de code peut ne pas être représentative) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
if ( "ton contrôle" ) {
 
      // Tes instructions.
 
} elseif ( "ton contrôle" ) {
 
      // Tes instructions.
 
} else {
 
      // Tes instructions.
}
Tu peux aussi ajouter après <? le mot php, donc :
Essayes ceci afin d’éventuellement pouvoir retrouver ton erreur :
En modifiant le mois, tu auras différents résultats
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
    $mois = "Janvier";
 
    if( $mois == "Janvier" ) {
 
        echo "Il fait froid";
 
    } elseif ( $mois == "Juillet" ) {
 
        echo "Il fait chaud";
 
    } else {
 
        echo "Ça dépend";
    }
?>
__________________
"Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

Je lutte contre le language SMS.
FredPsy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h14   #7
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 92
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 92
Points : 15
Points : 15
ok merci beaucoup je vais essayer ça ;-)
chanteur06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h23   #8
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
if(trim($r["youtube_link"])!='')
{
	echo '<div style="float:left;margin-top:5px;">
			<object width="490" height="325">
			<param name="movie" value="'.$r['youtube_link'].'"></param>
			<param name="allowFullScreen" value="true"></param>
			<param name="allowscriptaccess" value="always"></param>
			<param name="wmode" value="transparent" /></param>
			<embed src="'.$r['youtube_link'].'" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true" width="490" height="325"></embed>
			</object>
	</div>';
}
else // if quelque chose
{
	$tab_photos=array();
	for($i=1;$i<=1;$i++)
	{           
		$path_img2 = 'photos/'.$r["id"].'_'.$i.'.jpg';
		if(file_exists($path_img2))
		{
			$tab_photos[]=array($i,$id_resto,$path_img2);
		}
	}
	$cpt=1;
	foreach($tab_photos as $val)
	{
		echo '<div style="float:left;margin-top:5px;width:490px;background-image:url(fondhaut.jpg); background-repeat:repeat-x;">
			<center><img src="'.$val[2].'" width="300" height="325"/></center>
		</div>';
	}
}
else
{
	echo'<div style="float:left;width:540px;height:75px;margin:12px 5px 0px 15px;">non disponible</div>';
}
?>
L'erreur à la ligne 14 : tu ne peux pas faire un "if else else" mais un "if elseif else"
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h37   #9
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 92
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 92
Points : 15
Points : 15
j avais déjà tenté mais je vais réessayer ;-) merci
chanteur06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h41.


 
 
 
 
Partenaires

Hébergement Web