(RESOLU) syntaxe echo"document.write('....')";

"; (RESOLU) syntaxe echo"document.write('....') - PHP - Programmation

Marsh Posté le 05-07-2005 à 15:01:04    

Bonjour, j'ai un petit probleme de syntaxe (oui chui debutant)
Voila mon code (ki fonctionne):
 
<?php
...
for ($i=0; $i<$taille; $i++) {      
   echo "<OPTION value=\"".$i."\"> <script>document.write(tab_ens[".$i."]['nom_ens'])</script> </OPTION>";
}
...
?>
 
le truc c'est que je voudrai eviter d'ouvrir et de fermer des bout de code javascript sans arret ds la boucle.
donc je voudrai le transformer en ceci :
 
<?php
...
echo "<script>";
for ($i=0; $i<$taille; $i++) {      
   echo "document.write('<OPTION value=\" '," .$i. ",' \"> ', tab_ens[" .$i. "]['nom_ens'],' </OPTION>')";
}
echo "</script>";
...
?>
 
mais ca marche po ... :'( comment faire ?
Merci d'avance.


Message édité par sampras60 le 08-07-2005 à 15:36:24
Reply

Marsh Posté le 05-07-2005 à 15:01:04   

Reply

Marsh Posté le 05-07-2005 à 15:09:49    

SVP please pitié :D

Reply

Marsh Posté le 05-07-2005 à 15:09:55    

sampras60 a écrit :


mais ca marche po ...


Soit plus précis

Reply

Marsh Posté le 05-07-2005 à 15:10:50    

et je suis pas sûr qu'un up toutes les 8 minutes soit très utile :/

Reply

Marsh Posté le 05-07-2005 à 15:12:25    

Je voudrai seulement changer la syntaxe de ce bout de code ... (le deplacement des balise <script> et </script> ) Cela me permet de n'avoir ces balises qu'une seule fois lorsque la boucle for s'execute. le probleme doit etre dans ma syntaxe c'est a dire une histoire de guillement ' ou " ou \" ou \' ou ', ....

Reply

Marsh Posté le 05-07-2005 à 15:14:08    

Ça veut dire quoi "ca marche po ..." ?
Erreur, pas le comportement voulu... ?


Message édité par Master p le 05-07-2005 à 15:14:51
Reply

Marsh Posté le 05-07-2005 à 15:20:51    

Voila un grand grand morceau de mon code. En fait ce code consiste a recuperer des nom d'enseigne ds une base de donné et de les afficher ds un formulaire de type <select>
ensuite lorsque je clike sur un nom il affiche des autre info correspondante au nom de l'enseigne dans des champ text d'un autre formulaire (donc pour avoir un formulaire pré-rempli)
 
et lorsque je remplace par le bout de code ke j'ai mi il ne m'afficher plus rien du tout ds ma liste...  
 
if (($numfields > 0) && ($taille > 0)) {
  echo("<script language=\"javascript\" type=\"text/javascript\">" );
  echo("var tab_ens = new Array(".$taille." );" );
  for($i=0; $i<$taille; $i++) {
   echo("tab_ens['".$i."'] = new Array(".$numfields." );" );
  }
  $i = 0;
  while($data = mysql_fetch_assoc($req)) {
   echo("tab_ens['".$i."']['nom_ens'] = '".$data['nom_ens']."';\n" );
   echo("tab_ens['".$i."']['lien'] = '".$data['lien']."';\n" );
   echo("tab_ens['".$i."']['chemin_logo'] = '".$data['chemin_logo']."';\n" );
   $i++;
  }
  echo "</script>";
  echo "<form method=\"POST\" action=\"suppr_enseigne.php\">";
  echo "<select name=\"liste_ens\" size=\"5\" onClick=\"go_modif_ens(this.value);\">";
  for ($i=0; $i<$taille; $i++) {      
   echo "<OPTION value=\"".$i."\"> <script>document.write(tab_ens[".$i."]['nom_ens'])</script> </OPTION>";
  }
 echo "</select>";
  echo "<br><input type=\"image\" src=\"image/Supprimer2.jpg\"></form>";
}


Message édité par sampras60 le 05-07-2005 à 15:21:22
Reply

Marsh Posté le 05-07-2005 à 15:22:22    

J'ai lu à moitié, mais t'es sur qu'ya besoin de JS pour faire ça ? :heink:
 
Ca m'a l'air compliqué pour rien.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 15:24:45    

Je suis débutant donc je me complike peut etre pour rien.
Mais j'ai besoin de JS pour l'évenement onClick (c'est lui ki rempli l'autre formulaire)
 
juste avant ce bout de code j'ai lancé une requete SQL et a partir de ce code je met toute mes info ds un tableau JS.


Message édité par sampras60 le 05-07-2005 à 15:26:43
Reply

Marsh Posté le 05-07-2005 à 15:34:40    

Essaie ça :
 

Code :
  1. echo 'document.write(\'<option value="' . $i . '">\' + tab_ens[' . $i . ']["nom_ens"] + \'</option>\')';


Message édité par sielfried le 05-07-2005 à 15:35:06

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 15:34:40   

Reply

Marsh Posté le 05-07-2005 à 15:41:11    

nan petit probleme :
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/public_html/fonction.php on line 30
 
mais tu doi po en etre loin :D

Reply

Marsh Posté le 05-07-2005 à 15:43:18    

Je doute qu'il y ait une parse error là dedans.
 
T'as bien copié-collé ?
 
Rebalance les 2-3 lignes de code autour avec sinon pour voir.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 15:43:40    

J'ai essayé :
echo "document.write('<option value=\"" . $i . "\">' + tab_ens[" . $i . "]['nom_ens'] + '</option>')";
 
mais ... la meme erreur :'(

Reply

Marsh Posté le 05-07-2005 à 15:44:35    

ok j'avai ca autour :

Code :
  1. echo "<script>;
  2. for ($i=0; $i<$taille; $i++) {
  3.   echo 'document.write(\'<option value="' . $i . '">\' + tab_ens[' . $i . ']["nom_ens"] + \'</option>\')';
  4. }
  5. echo "</script>;


 
tu veux plus ?


Message édité par sampras60 le 05-07-2005 à 15:46:20
Reply

Marsh Posté le 05-07-2005 à 15:45:53    

Ah ben forcément.
 
echo "<script>;


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 15:47:04    

Oh my god :o (je cherche une cachette)


Message édité par sampras60 le 05-07-2005 à 15:47:21
Reply

Marsh Posté le 05-07-2005 à 15:48:19    

Par contre tout le meme probleme ... il n'affiche aucune ligne ds ma liste

Reply

Marsh Posté le 05-07-2005 à 15:53:45    

Il aime probablement pas les <script> dans <select>...
 
Et puis y'a pas vraiment besoin d'englober ça dans du PHP a priori. [:figti]  
 
Fait une boucle en JS, et débrouille-toi pour que le <script> soit pas entre <select> et les <option>.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 15:56:01    

OK je vais m'occuper de ca merci pour tout :)

Reply

Marsh Posté le 05-07-2005 à 15:57:30    

Bon apparemment un <script> dans un <select> ca passe. C'est pas bien joli, mais bon...  
 
Je mise donc plutôt sur l'oubli du ; après document.write.
 
Essaie avec:

Code :
  1. echo 'document.write(\'<option value="' . $i . '">\' + tab_ens[' . $i . ']["nom_ens"] + \'</option>\');';


Message édité par sielfried le 05-07-2005 à 15:58:03

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-07-2005 à 16:02:29    

C'est ça :D  wouaw :D
T'es trop baleze !!! J'y aurai jamais pensé ! :D :D
Va falloir que je regarde kelke cour sur la syntaxe des document.write
 
Un grand merci sielfried !


Message édité par sampras60 le 05-07-2005 à 16:04:08
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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