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>

4 réponses

  1. 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
    1. 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
  2. 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
  3. 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
  4. 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