Bonjour

Je souhaiterais remplir les donnés d'un graph grâce à un for .... car au départ c'était comme cela:


data: [
        [document.forms.f_area.select_area.options[0].value, return_areas[0]],
        [document.forms.f_area.select_area.options[1].value, return_areas[1]],
        [document.forms.f_area.select_area.options[2].value, return_areas[2]],         
]


Ce qui marche parfaitement, mais ... c'est en dur quoi .... car la j'ai trois données mais ca peut varier ....

Donc j'ai pensé à faire quelque chose comme ça:



data: [
        <?php $i =0;
        foreach ($tab_area_php as $areas) {
                echo "[ '$tab_area_php[$i]'," ;?> return_areas[<?php echo $i; ?>]],
                <?php
                $i = $i +1;
        } ?>
]


Mais ca ne marche pas Smiley decu

Pourtant quand j'affiche la source de la page j'ai bien: (exactement sous cette forme)


data: [
                                                        [ 'AMERICAS
', return_areas[0]],
                                                        [ 'APAC
', return_areas[1]],
                                                        [ 'EMEA
', return_areas[2]],
                                                                                                        ]



Je pense que le probleme vient de la .... il faudrait empecher le retour à la ligne mais je ne vois pas comment car je ne sais meme pas pourquoi il en fait un apres [$i] ....

Donc voila si quelqu'un pourrait m'éclairer ca serait sympa =)


PS: J'ai essayé de mettre ca dans le code (donc la meme chose qu'au dessus mais sans les retours a la ligne et ca marche tres bien)


data: [
                        [ 'AMERICAS', return_areas[0]],
                        [ 'APAC', return_areas[1]],
                        [ 'EMEA', return_areas[2]],
                ]




a+
Modifié par InfoGeo (12 Nov 2012 - 11:04)
Tu peux essayer d'imbriquer le moins possible php et js ... En utilisant json_encode comme je te l'avais conseillé dans un de tes précédents messages.

Ça donnerait quelque chose comme ça:

tabareas = <?php echo json_encode($tab_area_php);?>;
data = array();
for( var j in tabareas){
	data.push([tabareas[j], return_areas[j]]);
}

Modifié par loicbcn (12 Nov 2012 - 14:03)
Merci pour ta réponse mais au final j ai trouvé c'etait out bete ... enfin ...

C'est juste qu'il fallait empecher les retours a la ligne et pour ca :

$tab_years_php[] = trim($value);



^^