par
béka » 19 févr. 2008, 15:04
ne marche toujours pas avec le AS.
Seulement voilà, lorsque je fais j'affiche le résultat de ma requête, j'ai bien les résultats que je m'attend à avoir.
Voici mon fichier json.php
<?php
/* chemin vers fichier connexion.php */
include("../utile/connexion.php");
connexion();
$query = "SELECT p.coord_gps_perso, p.nom, p.prenom ";
$query .= "FROM personnes AS p ";
$query .= "JOIN fonctions AS f ON p.id = f.id_personne ";
$query .= "JOIN equipes AS e ON f.id_equipe = e.id ";
$query .= "JOIN batiments_pere AS b ON e.id_batiment = b.id ";
$query .= "WHERE b.id = '".$_GET['id_batiment']."'";
//$query = "SELECT * FROM personnes";
$result = mysql_query($query);
if (!$result) {die("Requète invalide. Erreur : " . mysql_error());}
$json = array("[");
$tab = "\t{";
while ($row = @mysql_fetch_assoc($result)){
$coord_gps = $row["coord_gps_perso"];
$explode = explode(",", $coord_gps);
$latitude = $explode[0];
$longitude = $explode[1];
$nom = $row["nom"];
$prenom = $row["prenom"];
$json[] = $tab;
$json[] = "\t\t'nom': '".addslashes($nom)."',";
$json[] = "\t\t'prenom': '".addslashes($prenom)."',";
$json[] = "\t\t'latitude': '".addslashes($latitude)."',";
$json[] = "\t\t'longitude': '".addslashes($longitude)."'";
$json[] = "\t}";
$tab = "\t\t,\t{";
}
$json[] = "];";
$jsonFinal = join("\n", $json);
echo $jsonFinal;
?>
donc là, le résultat est correct lorsque j'inscris directement json.php?id_batiment=2 dans ma barre d'adresse.
J'obtiens ceci :
Code : Tout sélectionner
[ { 'nom': 'ggggg', 'prenom': 'ggggg', 'latitude': '47.873985', 'longitude': '6.388863' } ];
-> il y a un enregistrement qui correspond au batiment 2
En revanche lorsque j'essai d'afficher la carte avec une liste de ces personnes correspondant au batiment 2 en utilisant index.php, la aucun affichage et ma carte m'affiche l'océan pacifique.
En mettant une requête plus simple SELECT * FROM personnes, là ça marche.
Pourquoi cette requête utilisant les jointures ne marche pas, comment peut-on la remplacer ?
ne marche toujours pas avec le AS.
Seulement voilà, lorsque je fais j'affiche le résultat de ma requête, j'ai bien les résultats que je m'attend à avoir.
Voici mon fichier json.php
[php]
<?php
/* chemin vers fichier connexion.php */
include("../utile/connexion.php");
connexion();
$query = "SELECT p.coord_gps_perso, p.nom, p.prenom ";
$query .= "FROM personnes AS p ";
$query .= "JOIN fonctions AS f ON p.id = f.id_personne ";
$query .= "JOIN equipes AS e ON f.id_equipe = e.id ";
$query .= "JOIN batiments_pere AS b ON e.id_batiment = b.id ";
$query .= "WHERE b.id = '".$_GET['id_batiment']."'";
//$query = "SELECT * FROM personnes";
$result = mysql_query($query);
if (!$result) {die("Requète invalide. Erreur : " . mysql_error());}
$json = array("[");
$tab = "\t{";
while ($row = @mysql_fetch_assoc($result)){
$coord_gps = $row["coord_gps_perso"];
$explode = explode(",", $coord_gps);
$latitude = $explode[0];
$longitude = $explode[1];
$nom = $row["nom"];
$prenom = $row["prenom"];
$json[] = $tab;
$json[] = "\t\t'nom': '".addslashes($nom)."',";
$json[] = "\t\t'prenom': '".addslashes($prenom)."',";
$json[] = "\t\t'latitude': '".addslashes($latitude)."',";
$json[] = "\t\t'longitude': '".addslashes($longitude)."'";
$json[] = "\t}";
$tab = "\t\t,\t{";
}
$json[] = "];";
$jsonFinal = join("\n", $json);
echo $jsonFinal;
?>
[/php]
donc là, le résultat est correct lorsque j'inscris directement json.php?id_batiment=2 dans ma barre d'adresse.
J'obtiens ceci :
[code][ { 'nom': 'ggggg', 'prenom': 'ggggg', 'latitude': '47.873985', 'longitude': '6.388863' } ];[/code]
-> il y a un enregistrement qui correspond au batiment 2
En revanche lorsque j'essai d'afficher la carte avec une liste de ces personnes correspondant au batiment 2 en utilisant index.php, la aucun affichage et ma carte m'affiche l'océan pacifique.
En mettant une requête plus simple SELECT * FROM personnes, là ça marche.
Pourquoi cette requête utilisant les jointures ne marche pas, comment peut-on la remplacer ?