Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2007, 17h45   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 65
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 65
Points : 17
Points : 17
Par défaut [PHP-JS] Récupérer mon tableau PHP en JavaScript

Bonjour ,

Schema de mon code :


Code :
1
2
3
<?
jai un "tableau1" en php qui est rempli
?>
Code :
1
2
3
<script>
je veux remplir mon "tableau2_js" (qui est un tableau javascript :mrgreen:) avec le contenu du tableau1
</script>

Merci d'avance à tous ceux qui tenteront de m'aider
yohann26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 18h34   #2
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
bonsoir,

ça sera un truc du style

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
echo "<script type='text/javascript'>";
 
foreach($ton_tableau_php as $cle=>$valeur){
 
    echo "ton_tableau_js[$cle] = '$valeur';";
 
}
 
echo "</script>";
?>
++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 15h40   #3
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 65
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 65
Points : 17
Points : 17
Par défaut Suite

Merci ce code est très interessant ccepandant il ne fonctionne bien qu'il ait l'air corect
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
 
$requete=------
 
$tableau = array();
$i=0;
 
 
while($resultat=mysql_fetch_array($requete,MYSQL_ASSOC))
{
 
$tableau[$i] = $resultat['nom'];
//echo "$tableau[$i]";
$i=$i+1;
}
 
echo "<script type='text/javascript'>";
//echo "var js_tableau = new Array();";   avec ou sans c pareil
foreach($tableau as $cle=>$valeur){
 
    echo "js_tableau[$cle] = '$valeur'";
    //document.write(js_tableau[$cle]);
 
}
 
echo "</script>";
 
 
$taille_tableau=count($tableau);
 
 
 
?>
erreur js : ";" attendu ligne 11

J'ai donc essayer autrement voici mon code
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
 $requete=mysql_query("SELECT `nom`
                      FROM ----
                      WHERE ----
                      GROUP BY `nom`
                      ORDER BY `nom`");
 
 
$tableau = array();
$i=0;
 
 
while($resultat=mysql_fetch_array($requete,MYSQL_ASSOC))
{
 
$tableau[$i] = $resultat['nom'];
//echo "$tableau[$i]";     la deja ca march ^^
$i=$i+1;
?>
<script type='text/javascript'>
var MonTableaujs = new Array;
MonTableaujs[<? echo $i; ?>]=<? echo $tableau[$i]; ?>
document.write(MonTableaujs[<? echo $i ?>]);
 
</script>
<?
}
 
$taille_tableau=count($tableau);
 
 
 
?>
et il m'afiche : undifined undifined undified ... (x la taille du tableau je pense)
yohann26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 15h55   #4
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
re,

attention, le ";" de php n'est pas le ";" de javascript. Il ne faut pas oublier les points virgule de js ex:
(j'avais oublié de les fermer dans mon exemple )

Code :
 echo "js_tableau[$cle] = '$valeur';";
le deuxième code est à éviter, tu ouvre et ferme plusieurs fois tes balises js

++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 15h56   #5
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 30
Points : 15
Points : 15
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
echo "<script type='text/javascript'>";
echo "var MonTableaujs = new Array;";

foreach($ton_tableau_php as $cle=>$valeur){
    
    echo "ton_tableau_js[$cle] = '$valeur' ;\n";
 
}
 
echo "</script>";
?>
nabbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h03   #6
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 65
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 65
Points : 17
Points : 17
Par défaut suite

Merci a vous 2 le code marche tres bien sur un exemple basique que je vien de tester mais pas sur mon code !!! grrrr

celui qui fonctionne :
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
 <body>
    <?php
 
    $tableau_php = array();
    $tableau_php[0] = "0";
    $tableau_php[1] = "1";
    $tableau_php[2] = "2";
    $tableau_php[3] = "3";    
 
 
   echo "<script type='text/javascript'>";
    echo "var js_tableau = new Array;";
 
    foreach($tableau_php as $cle=>$valeur){
 
    echo "js_tableau[$cle] = '$valeur' ;";
    echo "document.write(js_tableau[$cle]);";
    }
 
    echo "</script>";
 
    ?>
 
  </body>
celui qui ne fonctionne pas : (avec ou sans '\n') :
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
35
36
37
 
$tableau_php = array();
$i=1;
 
 
while($resultat=mysql_fetch_array($requete,MYSQL_ASSOC))
{
$nomville = $resultat['nomville'];
$tableau_php[$i] = "$nomville";
//echo "$tableau_php[$i]";
$i=$i+1;
 
 
 
}
 
// foreach($tableau_php as $cle=>$valeur){
// 
// 
// echo "$valeur";
// echo "<br />";
// }
 
 
echo "<script type='text/javascript'>";
    echo "var js_tableau = new Array;";
 
    foreach($tableau_php as $cle=>$valeur){
 
    echo "js_tableau[$cle] = '$valeur';";
    echo "document.write(js_tableau[$cle]);";
    }
 
    echo "</script>";
 
    echo "<div id='MaMap'></div>";
    ?>
l'erreur : ; attendu ligne 11 caractere 1136
ca vient peut etre de mon while de ma requete
car ce code : voir ci dessous ne rend pas ce que je veux mais la derniere ville du tableau seulement et pas d'erreur !
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
$tableau_php = array();
$i=0;


while($resultat=mysql_fetch_array($requete,MYSQL_ASSOC))
{
$nomville = $resultat['nomville'];
$tableau_php[0] = "$nomville";
//echo "$tableau_php[$i]";
$i=$i+1;



}

// foreach($tableau_php as $cle=>$valeur){
// 
//
// echo "$valeur";
// echo "<br />";
// }


echo "<script type='text/javascript'>";
    echo "var js_tableau = new Array;";

    foreach($tableau_php as $cle=>$valeur){
    
    echo "js_tableau[$cle] = '$valeur';";
    echo "document.write(js_tableau[$cle]);";
    }
 
    echo "</script>";
yohann26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h35   #7
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Petit conseil en passant JSON est efficace pour ce genre de traitement.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 18h21   #8
Invité de passage
 
Inscription : mars 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1
Points : 1
Points : 1
Envoyer un message via MSN à bigbares Envoyer un message via Yahoo à bigbares
voici ma methode qui marche tres bien.je mets les identifiants recuperees dans une base de donnees dans un tableau, et dans mon formulaire, je compare un element du tablaeu pour voir si l'element existe.



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
//this function is use to implement the method inarray
function inArray(search_value, table) { 
    var length = table.length; 
    for(var i = 0; i < length; i++) { 
        if(table[i] == search_value) return true; 
    } 
    return false; 
} 
 
 
 function ValiderFormulaire(formulaire) {
	  var comment = formulaire.commentaire.value;
	  //Recuperation du tableau des évènements dont le commentaires est obligatoire
	  var event_required = new Array();
	<?php foreach($liste_comment_required as $cle=>$valeur)
       { 
		echo "event_required[$cle] = '$valeur->evt_id';\n";
	   }
     ?>
 
	  for (var i=0; i < formulaire.evenement.length; i++){
		if (formulaire.evenement[i].checked){
		  var rad_val = formulaire.evenement[i].value;
		  if (comment == '' ) alert(' comment is requires for this event, please add a comment before to submit your form');
		  else formulaire.submit();
		}
      }  
 
   }
bigbares est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h49.


 
 
 
 
Partenaires

Hébergement Web