"; (RESOLU) syntaxe echo"document.write('....') - PHP - Programmation
Marsh Posté le 05-07-2005 à 15:09:55
ReplyMarsh 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
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 ', ....
Marsh Posté le 05-07-2005 à 15:14:08
Ça veut dire quoi "ca marche po ..." ?
Erreur, pas le comportement voulu... ?
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>";
}
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 ?
Ca m'a l'air compliqué pour rien.
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.
Marsh Posté le 05-07-2005 à 15:34:40
Essaie ça :
Code :
|
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
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.
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
Marsh Posté le 05-07-2005 à 15:44:35
ok j'avai ca autour :
Code :
|
tu veux plus ?
Marsh Posté le 05-07-2005 à 15:45:53
Ah ben forcément.
echo "<script>;
Marsh Posté le 05-07-2005 à 15:47:04
Oh my god (je cherche une cachette)
Marsh Posté le 05-07-2005 à 15:48:19
Par contre tout le meme probleme ... il n'affiche aucune ligne ds ma liste
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.
Fait une boucle en JS, et débrouille-toi pour que le <script> soit pas entre <select> et les <option>.
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 :
|
Marsh Posté le 05-07-2005 à 16:02:29
C'est ça wouaw
T'es trop baleze !!! J'y aurai jamais pensé !
Va falloir que je regarde kelke cour sur la syntaxe des document.write
Un grand merci sielfried !
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