Passer un tableau php à une fonction Js

Répondre
bibi
le 21/08/2004 à 00:53
bibi
en fait jvai avouer : jai pa compris ske tu voulais faire lol
commit suicide
plc2k
le 21/08/2004 à 09:18
plc2k
passer un tableau 2 dimension à une function javascript :
..... onselect(thefunction($tab));.......
tab est le tableau à 2 dimension tab[][]
Sedilbur
le 21/08/2004 à 12:17
Sedilbur
avec ça tu as un tableau à deux dimensions...
<script type="text/javascript">
var arr = new Array(3);
arr[0] = new Array('test', 'test2');
arr[1] = new Array('test3', 'test4');

document.write(arr[0][0]+'');
document.write(arr[0][1]+'');
document.write(arr[1][0]+'');
document.write(arr[1][1]+'');
</script>

Maintenant je pense qu'il y'a moyen d'adapter ça à ta situation...document.write c'est juste pour le test...
Sedilbur
le 21/08/2004 à 12:31
Sedilbur
voilà, j'ai essayer avec ton code...Bon je ne garanti pas le bon fonctionnement mais je pense que ce sera déjà plus proche de ce que tu recherches -enfin j'espère-
<?php
function charea($phpArray) {

$taille1 = count($phpArray);
$taille2 = count($phpArray[0]);

echo '<script type="text/javascript">';
echo 'var tableau = new Array('. $taille1 .');';

for ($i=0;$i<$taille1;$i++)
{
for ($j=0;$j<$taille2;$j++)
{
echo 'tableau['. $i .'] = new Array(\''. $phpArray[$i][$j] .'\');';
}
}
echo 'document.write(tableau);';
echo '</script>';
}
?>
plc2k
le 30/08/2004 à 10:50
plc2k
me revoici aprés 1 semaine d'absence, Merci Sedilbur pour ta reponse, j'ai testé :

Donc, dans mon on select jai mis :

<?

echo "<SELECT name=sites size=1 onchange=\"charea($tab);\";>

?>


et donc jai mis ta fonction dans mon code php comme tu la mise ci dessus.

Il me fait une erreur :"Objet attendu"
j'ai limpression que l'on ne peu pas lancer une fonction php depuis un onchange.

J'ai donc mis ta fonction en dehors des balises php comme suit :

<script language="javascript">

function charea(phpArray) {
<?php
$taille1 = count($phpArray);
$taille2 = count($phpArray[0]);

//echo '<script type="text/javascript">';
echo 'var tableau = new Array('. $taille1 .');';

for ($i=0;$i<$taille1;$i++)
{
for ($j=0;$j<$taille2;$j++)
{
echo 'tableau['. $i .'] = new Array(\''. $phpArray[$i][$j] .'\');';
}
}
echo 'document.write(tableau);';
//echo '</script>';
?>

}
</script>


et la cela ne marche pas, cela m'affiche une page blanche ...

je commence à desesperer 8-(
Sedilbur
le 30/08/2004 à 13:18
Sedilbur
Tu ne peux pas lancer une fonction php à partir d'un onchange... c'est une fonction javascript donc ta deuxième méthode est la bonne...
Il faudrait que tu fasse un print_r() de $phpArray pour voir si il n'ai pas vide et un echo de taille1 et 2 parce que
chez moi j'ai procédé de la même façon (sans les boucles php) et j'avais un tableau 2 dimensions...
ça ma tout l'air d'être un problème avec ton onchange...essaye de l'enlever pour voir le script javascript que php à générer...Tient nous au courant^^
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours