Faute de Syntaxe else :-(

Faute de Syntaxe else :-( - PHP - Programmation

Marsh Posté le 15-04-2011 à 11:52:34    

Bonjour , je viens vous demander de l aide car je patauge dans mon ecriture sur un code que je retravaille , mais suis pas expert du tout...
 
Le probleme est que je veux afficher l'un OU l'autre et là s'affiche l'un ET l'autre ( donc soit une image si la video n'est pas là ; les images sont toujours dispo, mais pas la video qui est proposée de temps en temps)...qui peut me dire où je plante SVP? merci beaucoup
 

Code :
  1. <?
  2.      if(trim($r["youtube_link"])!='')
  3.      {
  4.      ?>
  5.                         <div style="float:left;margin-top:5px;">
  6.                         <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>
  7.                         </div>
  8.      <?
  9.      }
  10.      else
  11.      ?>
  12.      <?
  13.                 $tab_photos=array();
  14.    for($i=1;$i<=1;$i++)
  15.                 {
  16.                    
  17.                     $path_img2 = 'photos/'.$r["id"].'_'.$i.'.jpg';
  18.                     if(file_exists($path_img2)) { $tab_photos[]=array($i,$id_resto,$path_img2); }
  19.                 }?>
  20.    <?
  21.     $cpt=1;
  22.                     foreach($tab_photos as $val)
  23.                     {
  24.                     ?><div style="float:left;margin-top:5px;width:490px; height:325px;"><img src="<?=$val[2];?>" width="490" height="325"/></div>
  25.     <?
  26.                         }
  27.                     ?>


 

Reply

Marsh Posté le 15-04-2011 à 11:52:34   

Reply

Marsh Posté le 15-04-2011 à 12:20:14    

hello
 
vire les <?    ?> après le else, si tu n'y mets rien, ca sert à rien
 
pour corriger ton problème, mets un { après le else, et ferme le où tu veux (à la fin, probablement)
 
:jap:

Reply

Marsh Posté le 15-04-2011 à 12:38:32    

Pour rappel, il est conseillé d'utiliser <?php comme balise ouvrante et non le short_tag <?. Sur certains serveurs, ça risque de pas passer sur la var du php.ini shot_tag est à off :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-04-2011 à 16:00:15    

rufo a écrit :

Pour rappel, il est conseillé d'utiliser <?php comme balise ouvrante et non le short_tag <?. Sur certains serveurs, ça risque de pas passer sur la var du php.ini shot_tag est à off :/


 
 
+1, j'ai bien du perdre 30min pour trouver que c'était ça qui faisait planter le script d'un pote une fois  [:tinostar]

Reply

Marsh Posté le 15-04-2011 à 19:37:17    

Merci merci ! c'est un programmeur qui a fait ça , et comme j'ai plus de sous , ben c'est moi qui m'y colle , et je suis vite limité ;-)
 
Danc là , vous m'avez résolu l'affaire , merci mille fois... mais avc le meme type de syntaxe , je n'arrive pas à faire un autre truc , et je tourne encore en rond, malgré les tutos suivis ça et là. Donc si une bonne ame est dans le coin....
 
Voilà l'histoire : sur ce code précedent , j'ai maintenant photos ou vidéo qui s'affichent selon leur presence ou non dans la base; Bien. Mais je n'arrive pas à syntaxer une troisieme condition : si l'une ou l'autre ne sont pas remplies (pas de photos /pas de vidéo) je voulais mettre un message , et là j'y arrive pas...et du coup ben je tourne sur le mm probleme car je vois pas la soluce. Qui pourrait m'aider...? >>>
 

Code :
  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. ?>


 
>>> et pareil pour celui là du coup , erreur de syntaxe >>>

Code :
  1. <div style="width:210px;float:left;">
  2.     <?
  3.     if ($r["$tab_champs[13]"]=='y')
  4.     {
  5.     ?>
  6.                    <a href="dispo-<?=format_url($r["$tab_champs[1]"].'-'.$r["$tab_champs[2]"]).'-'.$r["$tab_champs[0]"];?>.html"><img style="width:240px;"src="indispo.jpg" alt="indisponible" /></a></div>
  7.                     <?
  8.     }
  9.     ?>
  10. <?php { else <div style="float:left;width:540px;height:75px;margin:12px 5px 0px 15px;">non disponible</div>'; } php?>


 
Merci  :hello:  

Reply

Marsh Posté le 15-04-2011 à 20:05:06    

ça y est c'est résoudu lol
 
le truc c'est un vrai probleme de syntaxe , et je me demande pourquoi tant de difference entre les developpeurs
 
pour ceux que ça pourra aider , on va décortiquer
 
sur la ligne 6

Code :
  1. <a href="dispo-<?=format_url($r["$tab_champs[1]"].'-'.$r["$tab_champs[2]"]).'-'.$r["$tab_champs[0]"];?>.html"><img style="width:240px;"src="indispo.jpg" alt="indisponible" /></a></div>


 
on se retrouve avec des <?= et de la syntaxe point  guillemets qui font foirer lorsqu'on les melange avec du code propre , et du coup on tourne en rond
 
voilà ce qui fonctionne >>>

Code :
  1. <?php
  2.     if ($r["$tab_champs[13]"]=='y')
  3.     {
  4.     echo
  5.                    '<a href="dispo-'.format_url($r["$tab_champs[1]"].'-'.$r["$tab_champs[2]"]).'-'.$r["$tab_champs[0]"].'.html"><img style="width:240px;"src="indispo.jpg" alt="indisponible" /></a></div>';
  6.                    
  7.     }
  8.     else
  9. {
  10. echo'<p style=" background-image:url(fondhaut.jpg); background-repeat:repeat-x; ">indisponible</p>';
  11. }
  12. ?>


 
Merci à tous de votre aide , en esperant pouvoir aider bientôt!
 
Longue vie au forum!

Reply

Marsh Posté le 15-04-2011 à 20:10:39    

...euh par contre pour ma syntaxe à trois conditions , je veux bien de l'aide   :whistle:  
 
merci

Reply

Marsh Posté le 16-04-2011 à 11:31:04    

ben ça fait

 
Code :
  1. if()
  2. {
  3. }
  4. else if()
  5. {
  6. }
  7. else
  8. {
  9. }
 

tu peux mettre autant de else if que tu veux entre le if et le else  (toi t'as mis deux else d'affilé si j'ai bien lu ton code)


Message édité par caribouuu le 16-04-2011 à 11:32:39

---------------
Bla (blaa bbla)
Reply

Marsh Posté le 16-04-2011 à 14:45:30    

j'ai fait , sauf que j ai pas réussi à faire fonctionner...

Reply

Marsh Posté le 18-04-2011 à 10:05:33    

Franchement, vas sur des tutos de php, pour apprendre le bases (des tutos de HTML/CSS/Javascript seraient pas un luxe non plus), sinon, tu vas perdre un temps fou :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-04-2011 à 10:05:33   

Reply

Marsh Posté le 18-04-2011 à 11:19:48    

je vais faire ça , et changer de developpeur vu que je n'ai pas ecrit les codes , ce sont les siens et que j'ai payé pour ça ;-)
 
Merci
 
PS : d'ailleurs si y en a qui veulent du taff de temps en temps...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed