Liason javascript/php

Fermé
sisi zazi Messages postés 3 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 19 mai 2011 - 18 mai 2011 à 17:09
ljm972 Messages postés 254 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 6 décembre 2021 - 19 mai 2011 à 18:48
Bonjour,

Dsl pr le derangement mais jai besoin de l'aide:
jai des problemes de liaison entre php et javascript.en fait jai une bdd mysql d'ou je veux recuperer les données et inserer dans un tableau javascript.pr l'instant j'arrive à inserer un seul enregistrement dans le tableau js mais j'arrive pas à stoquer tous les enregistrements de ma bdd.
voici mon code et j'espere trouver une solution.
merci d'avance.



<?php
//ouverture de la connexion à la base de données
$db=mysql_connect("localhost","root","")or die ("connection impossible");
$connection=mysql_select_db("pointv",$db);

//la requête pour obtenir la liste des points
$res = mysql_query("SELECT x,y,NumIRE FROM listepoint");


while($result = mysql_fetch_array($res))
{

$x=$result["x"];
$y=$result["y"];
$ire=$result["NumIRE"];


$tab = array("$x","$y","$ire");

}
?>


<script type="text/javascript">
<?php



echo "var tab = '".implode("<>", $tab )."'.split('<>');"; ?>
//alert(tab);
document.write(tab);
</script>
A voir également:

4 réponses

ljm972 Messages postés 254 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 6 décembre 2021 29
18 mai 2011 à 17:28
Salut,
Ta première erreur :
$tab = array("$x","$y","$ire");
Déclare ton tableau :
$tab=array();
Remplace par $tab[] =...

En fait, dans la boucle tu écrasait $tab;
Si je ne me trompe pas, $tab contient la dernière enregistrement de ta table.
0
floverdevel Messages postés 121 Date d'inscription dimanche 18 février 2001 Statut Membre Dernière intervention 20 mai 2011 15
19 mai 2011 à 05:01
Juste pour préciser, $tab=array(); doit être avant le début de la boucle while.
Mais sinon ce que mentionne ljm972 c'est ok :)

<?php 
//ouverture de la connexion à la base de données 
$db=mysql_connect("localhost","root","")or die ("connection impossible"); 
$connection=mysql_select_db("pointv",$db); 

//la requête pour obtenir la liste des points 
$res = mysql_query("SELECT x,y,NumIRE FROM listepoint"); 

$tab=array();
while($result = mysql_fetch_array($res)) 
{ 

$x=$result["x"]; 
$y=$result["y"]; 
$ire=$result["NumIRE"]; 


$tab[] = array("$x","$y","$ire");

} 
?>


<script type="text/javascript"> 
<?php 



echo "var tab = '".implode("<>", $tab )."'.split('<>');"; ?> 
//alert(tab); 
document.write(tab); 
</script>
0
sisi zazi Messages postés 3 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 19 mai 2011
19 mai 2011 à 00:52
bonsoir,
tout d'abord merci pour votre reponse .
En fait jai changé ma declaration mais c'est toujours le meme resultat qui s'affiche (le dernier enregistrement de ma bdd), chaque enregistrement ecrase le precedent ...
je ne sais pas si c'est le code necessaire ou jai besoin d'autres structures(tableau multidimension par exemple) si c'est le cas je trouverai des difficultés en l'utilisant en javascript ...
0
sisi zazi Messages postés 3 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 19 mai 2011
19 mai 2011 à 13:43
merci bien mon premier probleme est resolu :) mais jai un autre probleme à regler .
En fait je souhaite maintenant faire une boucle qui me permet de recuperer mes enregistrement un par un.
alors voici mon code:


function addPoints() {


<?php echo "var tab = '".implode("<>", $tab )."'.split('<>');"; ?>

// boucle pour la recuperation des enregistrement

for(var i=0; i< tab.length;i++)
{

newpoints[i] = new Array(tab[i,0],tab[i,1], icon3, tab[i,2], tab[i,3]); }



for(var i = 0; i < newpoints.length; i++)
{
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}




icon3:c'est une variable deja declaré

ce code affiche le premier enregistrement plusieurs fois

Merci d'avance
0
ljm972 Messages postés 254 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 6 décembre 2021 29
19 mai 2011 à 18:48
Salut :
utiise plutôt :
<?php echo 'var tab = eval("'. json_encode($tab ) .'");'; ?>
0