Liason javascript/php

sisi zazi Messages postés 3 Statut Membre -  
ljm972 Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   -
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 255 Date d'inscription   Statut Membre Dernière intervention   29
 
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 Statut Membre 15
 
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 Statut Membre
 
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 Statut Membre
 
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 255 Date d'inscription   Statut Membre Dernière intervention   29
 
Salut :
utiise plutôt :
<?php echo 'var tab = eval("'. json_encode($tab ) .'");'; ?>
0