Passage d'un Array Php vers Javascript

Fermé
Martin - 6 avril 2006 à 03:13
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
- 1 juil. 2010 à 15:48
Bonjour,

Je suis entrain de développer un tableau contenant des données chargées à partir de MySQL, sous php.

Et j'aimerais utiliser javascript afin de permettre aux utilisateurs, un classement plus intuitif de ce tableau.

Quelqu'un pourait m'expliquer (ou aurait un lien sur :) comment transfèrer mon Array Php, vers un Array JavaScript ? et comment afficher un tableau graphique Javascript à partir de ce Array ?

Sachant qu'il s'agit d'un tableau à double entrée.

Merci d'avance,
Martin

3 réponses

PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
607
8 avril 2006 à 15:46
Bjr Martin

Voici un ex :



<html>
<head>
<script type="text/javascript">
<!--
<?php
$tableau = array();

$tableau[0][0] = 0;
$tableau[0][1] = 1;
$tableau[0][2] = 2;

$tableau[1][0] = 'Item 1-0';
$tableau[1][1] = 'Item 1-1';
$tableau[1][2] = 'Item 1-2';

$tableau[2][0] = 'Item 2-0';
$tableau[2][1] = 'Item 2-1';
$tableau[2][2] = 'Item 2-2';


// Déclaration du tableau JavaScript
$tableau_JS="Tableau";

printf("%s = new Array();\n",$tableau_JS);

foreach($tableau as $keyItems => $valueItems)
{
	printf("%s[%s]= new Array();\n",$tableau_JS, $keyItems);
	foreach($valueItems as $keyItem => $valueItem)
	{	
		printf("%s[%s][%s] =%s;\n",$tableau_JS, $keyItems, $keyItem,
			is_string($valueItem) ?  "\"".addslashes($valueItem)."\"" : $valueItem);
	}
}
?>

// Fonction pour récuperer le contenu du tableau sous forme de texte
function getText()
{
	var txt = "";
	for (var i=0; i < Tableau.length; i++)
	{
		for (var j=0; j < Tableau[i].length; j++)
		{
			txt = txt+ 'Tableau['+i+']['+j+']='+Tableau[i][j]+'\n';	
		}
	}
	return txt;
}

//-->
</script>
</head>
<body onload="alert(getText())">
</body>
</html>



Remarques : tu n'es pas onligé d'utiliser l'instruction foreach PHP un for classique peut convenir cepandant elle est bien pratique ...

l'événement onload ne sert que pour le test tu peux le supprimer ainsi que le fct getText()

J'ai supposé ici que le tableau contenait à la fois des chaînes de caractères et des nombres.




Qu'entends-tu par un tableau graphique JavaScript ????
13
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
35
Modifié par lezao le 1/07/2010 à 14:54
Salut je cherche justement ce genre de scrypt.

Mais comment faire pour que celui -ci n'affiche qu'une information par ligne ? car la il repete le tout a chaque fois example ça donne ça :

0  
0 Item 1-0,Item 1-1,Item 1-2  
0 Item 1-0,Item 1-1,Item 1-2 Item 1-0,Item 1-1,Item 1-2  
0 Item 1-0,Item 1-1,Item 1-2 Item 1-0,Item 1-1,Item 1-2 Item 1-0-1



comment l'adapter pour qu'il affiche une info par ligne example :

  
Item 1 
Item 2 
Item 3 
Item 4 
Item 5 
etc...  


Savez vous comment adapter ce scrypt, merci pour votre aide...
1
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
35
1 juil. 2010 à 15:48
j'ai trouvé :
il faut remplacer

txt = txt+ 'Tableau['+i+']['+j+']='+Tableau[i][j]+'\n';

par


txt = Tableau[i]+'\n';
0