Je reprends ton code pour voir ou tu en es..
Dans $tableau tu as quoi ?Citation:
Ce qui apparait en mettant a=1, c'est : 1[2]Code:
1
2
3 echo ' function reaffichage(a) { alert ("'.$tableau.'"+a+'.'"[2]"'.'); } ';
Version imprimable
Je reprends ton code pour voir ou tu en es..
Dans $tableau tu as quoi ?Citation:
Ce qui apparait en mettant a=1, c'est : 1[2]Code:
1
2
3 echo ' function reaffichage(a) { alert ("'.$tableau.'"+a+'.'"[2]"'.'); } ';
Voilà le code
Donc voilà où j'en suis. A la place de alert il y aura un autre bout de code mais le soucis est juste qu'il ne me prend pas le " ('$tableau'+a+'[2]') " mais si j'écris " ('$tableau1[2]') ", ça me renvoi bien la valeur de la base de données.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 <?php $db = mysql_connect('localhost','root',''); mysql_select_db('procedure',$db); $requete= "SELECT Id, Saisie, Description FROM preparation_momentum_wheel WHERE Step=1" ; $resultat=mysql_query($requete,$db); $nb_ligne = mysql_num_rows($resultat); for ($i=1; $i < $nb_ligne+1; $i++) { ${'tableau'.$i} = mysql_fetch_array($resultat); } echo " function reaffichage(a) { alert ('$tableau'+a+'[2]'); } "; mysql_close(); ?>
Mais tu as essayé avec ce que viens de mettre guitou :koi:
Ce que viens de me mettre guitou, je l'avais déjà essayé. Et puis c'est mon code qu'il m'a réaffiché.
Déjà si tu mets des trucs commeon va pas être copains :roll:Code:alert ('$tableau'
Ensuite en y regardant mieux je comprends d'ou vient ton souci
tu essaies d'afficher la valeur d'une variable php en passant dynamiquement par du javascript donc effectivement tu peux toujours essayer je pense pas que tu y arrives.
Si tu tiens à faire ta bidouille dynamique avec ton alert le seul moyen sera de définir au préalables des variable javascript portant le même nom que tes variables php
donc en gros ça donnerai ça
Je pense qu'une bidouille comme ceci devrait fonctionner (mais j'ai pas testé)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <script language bla bla lba> <? for ($i=1; $i < $nb_ligne+1; $i++) { ${'tableau'.$i} = mysql_fetch_array($resultat); echo 'var tableau'.$i.' = '.${'tableau'.$i}.';'; echo " function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } "; } ?> </script>
Si j'ai essayé le truc:
C'était dans un moment de désespoir.Code:alert ('$tableau'
Mais ce que tu viens de me passer me redonne le sourir.
Il manque un chouia pour que ça fonctionne je pense.
Le soucis se situe au niveau du transfert de la variable php dans la variable javascript. Parce que si je met un alert avec '$tableau1[2]' il me renvoie la valeur de la bdd mais si je mets tableau1[2] il me renvoi undefined.
Je suis optimiste.Merci.:D
Génère ta page et regarde le code source, au pire poste le ici on verra là ou ça cloche (pas toute la page hein juste entre les balises JS)
Voilà le code source obtenu avec ce que tu m'as donné:
Donc ce qui apparait dans alert c'est undefined.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 <script language='javascript'>var tableau1 = Array; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } var tableau2 = Array; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } var tableau3 = Array; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } var tableau4 = Array; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } </script>
J'ai aussi essayé en fermant la boucle for avant la fonction javascript et j'obtiens:
Code:
1
2
3
4
5
6
7
8 <script language='javascript'>var tableau1 = Array;var tableau2 = Array;var tableau3 = Array;var tableau4 = Array; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } </script>
Oui déjà il faut sortir la fonction JS de la boucle for (j'avais pas fait gaffe) ensuite j'avais pas calculé que l'affectation d'un tableau de php à JS serait plus délicate.
Essaie comme ça
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 <script language bla bla lba> <? for ($i=1; $i < $nb_ligne+1; $i++) { ${'tableau'.$i} = mysql_fetch_array($resultat); echo 'var tableau'.$i.' = new Array(); // Affectation de ton tableau for($j=0;$j<count(${'tableau'.$i});$j++) { echo 'tableau'.$i.'['.$j.'] = '.${'tableau'.$i}[$j]; } } echo " function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } "; ?> </script>
Suite au fait d'avoir vue la source de ma page j'ai essayé ça:
Pour voir ce qu'il me renvoie.Code:
1
2
3
4
5
6
7
8 echo " function reaffichage(a) { var tab_final = 'tableau'+a; alert ('tableau'+a); } ";
Dans le alert s'affiche : tableau1
au lieu de Array (d'après la source (voir message précédent))
Ce qui signifie qu'il ne m'interprête pas tableau1 comme la variable du même nom.
Dans le cas que tu as marqué il ne te l'interprête pas c'est pour ça qu'il faut passer par une variable intermédiaire ;)
J'ai essayé ça mais là je comprends pas ce qu'il m'affiche dans le code source.
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 <script language='javascript'>var tableau1 = new Array()tableau1[0] = 1tableau1[1] = OKtableau1[2] = Coller la(les) thermistance(s) sur le bracket à la DP490 conformément au CDST.HB.064.<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[3] = <br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[4] = <br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[5] = var tableau2 = new Array()tableau2[0] = 2tableau2[1] = tableau2[2] = Editer une fiche de collage et indiquer son N°<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[3] = <br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[4] = <br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[5] = var tableau3 = new Array()tableau3[0] = 3tableau3[1] = tableau3[2] = Mettre un point de colle DP490 pour sécuriser les fils<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[3] = <br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[4] = <br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[5] = var tableau4 = new Array()tableau4[0] = 4tableau4[1] = Salut tableau4[2] = Commentaires<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[3] = <br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[4] = <br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[5] = function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } </script>
Il manque des quotes parci parlà et 1 connerie de ma part
Ca devrait aller mieux maintenant, ceci dit en regardant le code source cétait évident :mouarf:Code:
1
2
3
4
5
6 echo 'var tableau'.$i.' = new Array();'; // Affectation de ton tableau for($j=0;$j<count(${'tableau'.$i});$j++) { echo 'tableau'.$i.'['.$j.'] = "'.${'tableau'.$i}[$j].'";'; }
L'ultimatum prenait fin à midi :calim2:
Je sais bien mais à 12h je mange moi, tu crois qu'il a été châtié pour son échec ? (même si on est plus très loin du résultat...) :lol:Citation:
Envoyé par JWhite
On n'a plus de nouvelles j'ai peur :? :D
Si près du but... (peut-être parce que c'est tellement de la bidouille que bon...).
Je viens d'essayer ça mais j'ai une erreur sur la page.
L'erreur doit être du même style parce j'obtiens de nouveau:
L'erreur est peu être évidente pour vous. Moi je ne suis qu'au niveau bricoleur, magouilleur. En général si on m'aiguille je m'en sors tout seul mais là je vous avoue que je rame.Et puis y'a peu la pression. J'ai pas encore vu mon chef alors j'en profite pour continuer.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 </script> <script language='javascript'>var tableau1 = new Array();tableau1[0] = "1";tableau1[1] = "OK";tableau1[2] = "Coller la(les) thermistance(s) sur le bracket à la DP490 conformément au CDST.HB.064.";<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[3] = "";<br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[4] = "";<br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau1[5] = "";var tableau2 = new Array();tableau2[0] = "2";tableau2[1] = "";tableau2[2] = "Editer une fiche de collage et indiquer son N°";<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[3] = "";<br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[4] = "";<br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau2[5] = "";var tableau3 = new Array();tableau3[0] = "3";tableau3[1] = "";tableau3[2] = "Mettre un point de colle DP490 pour sécuriser les fils";<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[3] = "";<br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[4] = "";<br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau3[5] = "";var tableau4 = new Array();tableau4[0] = "4";tableau4[1] = "Salut ";tableau4[2] = "Commentaires";<br /> <b>Notice</b>: Undefined offset: 3 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[3] = "";<br /> <b>Notice</b>: Undefined offset: 4 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[4] = "";<br /> <b>Notice</b>: Undefined offset: 5 in <b>d:\easyphp1-8\www\exemples\maquette proc pi frame\step1bisbis.php</b> on line <b>57</b><br /> tableau4[5] = ""; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } </script>
Mais qu'en même, merci à vous de m'aider. Sinon y'a longtemps que je me serais pendu au plafond avec ma ceinture :) .
Tes tableaux sont indexés de 0 à cb s'il te plait ? car là l'erreur est que les indices à partir de 4 sont inconnus dans les tableaux que tu passes en paramètre...
si c'est genre 0 1 2 3 7 8 9 alors c'est normal que ça ne fonctionne pas !
En fait je viens de réfléchir (hé oui ça m'arrive) mais si c'est vraiment le message contenu dans la case 2 qui t'intéresse pas la peine de faire tout ce mic mac tu affectes tout simplement ton message dans une variable javascript et tu l'alert au besoin !
Dans ma requete MySQL, je veux Id (correspond à l'indice 0), Saisie (indice 1) et Description (indice 2).
J'ai modifié le code:
J'ai remplacé la condition de j pour qu'il s'arrete à 2.Code:
1
2
3
4
5
6
7 echo 'var tableau'.$i.' = new Array();'; // Affectation de ton tableau for($j=0; $j < 3 ;$j++) { echo 'tableau'.$i.'['.$j.'] = "'.${'tableau'.$i}[$j].'";'; }
Donc c'est bon je n'ai plus d'erreur sur la page, seulement il me renvoi à nouveau dans le alert : undefined.
Le code source me donne:
Il doit manquer peu de choses pour que ça fonctionne. C'est rageant.Code:
1
2
3
4
5
6
7
8 <script language='javascript'>var tableau1 = new Array();tableau1[0] = "1";tableau1[1] = "OK";tableau1[2] = "Coller la(les) thermistance(s) sur le bracket à la DP490 conformément au CDST.HB.064.";var tableau2 = new Array();tableau2[0] = "2";tableau2[1] = "";tableau2[2] = "Editer une fiche de collage et indiquer son N°";var tableau3 = new Array();tableau3[0] = "3";tableau3[1] = "";tableau3[2] = "Mettre un point de colle DP490 pour sécuriser les fils";var tableau4 = new Array();tableau4[0] = "4";tableau4[1] = "Salut ";tableau4[2] = "Commentaires"; function reaffichage(a) { var tab_final = 'tableau'+a; alert (tab_final[2]); } </script>