Tableau Php vers Javascript.

braingnac Messages postés 4 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 mars 2004 - 18 févr. 2004 à 13:38
braingnac Messages postés 4 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 mars 2004 - 19 févr. 2004 à 16:04
Pourrais-t-on me dire comment utiliser un tableau à deux dimensions ,créé en php, dans une fonction javascript.

Voici le code :

print "<script>function showInvoice(selection,itemarray){";
print "userID = selection.value;";
print "document.form.attn.value = itemarray;";
print "}</script>";

print "<select name=NameSoc size=1 onChange='java_script_: showInvoice(this,$societe);'>";
print "<option selected value=999 >-None-";
for ($i=0;$i<count($societe);$i++)
{
print "<option value=".$i.">".$societe[$i][0]."\n";
}
print("</select>");

3 réponses

aurelien0306 Messages postés 181 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 2 mars 2009
18 févr. 2004 à 22:33
ta variable php $societe c'est quoi?
0
braingnac Messages postés 4 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 mars 2004
19 févr. 2004 à 08:59
Elle est le résultat d'une requete oracle et contient les noms et coordonées de toutes les sociétés.
0
braingnac Messages postés 4 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 mars 2004
19 févr. 2004 à 16:04
Merci pour ton aide aurelien0306 mais j'ai enfin trouver la solution.

Il faut dans le code php générer du javascript.
Pour cela, dans le script je genere un tableau deux dimensions en javascript à partir du tableau $societe.

Voici la fonction javascript.

print "<script>function showsociete(selection){\n";
$text2 = "";
print "var tableau1D = new Array;\n";
print "var tableau2D = new Array;\n";
$len = count($societe);
for($i = 0; $i < $len; ++$i )
{
$text="";
for ($j=0;$j<7;$j++)
{ $text ."tableau1D[" . $j . "] '". $societe[$i][$j] . "'; \ }
print $text; $text2."tableau2D[" . $i . "] tableau1D; \n"; }
print $text2;
print "socid = selection.value;";
print "document.form.nom.value = tableau2D[socid][0];\n";
print "document.form.attn.value = tableau2D[socid][4];\n";
print "document.form.addr1.value = tableau2D[socid][1];\n";
print "document.form.location.value = tableau2D[socid][3];\n";
print "document.form.fax.value = tableau2D[socid][6];\n";
print "document.form.BC.checked = 1;\n";
print "}</script>\n";

Voici le code de départ :

function phpArray2JSArray( $phpArray, $name )
{
$text = "";
$tags = "\n<script language="JavaScript" type="text/javascript">\n";$declare "var " . $name . " new Array();\n";
$close = "\n</script>\n";
$len = count($phpArray);

for($i = 0; $i < $len; ++$i )
{$text .$name . "[" . $i . "] '". $phpArray[$i][0] . "'; \n";
}
$tags .= $declare;
$tags .= $text;
$tags .= $close;
return $tags;
}

$jsArray = phpArray2JSArray($itemArray, $arrayName );
echo $jsArray;

trouver sur le site : http://forums.devshed.com/archive/t-43282
0
Rejoignez-nous