J'ai vraiment du mal à comprendre ce satané ajax...
Du coup je récapépete depuis le debut :
Le principe de mon application web c'est :
Une liste déroulante est créée en fonction des tables de la base de données postgres (ca c'est ok)
Quand on choisi un élément de cette liste un tableau avec les valeurs de cette table est affiché (ca c'est ok aussi
Ensuite j'aimerai que quand on click sur un bouton (Voir) on affiche un résultat en fonction de l'élément sélectionné dans la liste déroulantes. (ca c'est pas ok :/)
Tout ça se passe bien sûr en ajax.
Voici mes codes :
L'ajax : (chargerCouches et chargerTableau fonctionnent très bien, ce qui ne fonctionne pas c'est chargerCouchesC et chargerC)
Code : Tout sélectionner
$(".button-collapse").sideNav();
$(document).ready(function(){
chargerCouches();
});
function chargerCouches(){
$.get("list.php",function(reponse){
$(".return").html(reponse);
$("#list_other").change(function(){
chargerTableau($(this).val())});
});
}
function chargerTableau(Na){
$.get("result.php?list_other="+Na,function(reponse){
$(".afficher").html(reponse);
});
}
function chargerCouchesC(){
$.get("map_list.php",function(reponse){
$(".return").html(reponse);
$("#list_other").change(function(){
chargerC($(this).val())});
});
}
function chargerC(Na){
$.get("map_list.php?list_other="+Na,function(reponse){
$(".afficher").html(reponse);
});
}La page map_list.php (qui récupère les données de la base de données et les transformes en geojson, j'ai testé ce script il fonctionne, le souci je pense que c'est vraiment le ajax avec encore l'erreur au clic du bouton : Notice: Undefined index: list_other in C:\Users\postgres\Documents\smiddest\map_list.php on line 8)
Code : Tout sélectionner
<?php
require ("connect.php");
?>
<?php
$name = $_GET['list_other'];
$qry = $bdd->prepare("SELECT date, remarq, ST_ASGeoJSON(ST_Transform(geom,4326)) AS geojson FROM other_map.$name");
$qry->execute();
// Renvoit un chemin au format GeoJSON
$geojson = array("type" => "FeatureCollection",
"features" => array()
);
// Ajouter un tronçon au tableau GeoJSON
while($row=$qry->fetch())
{
$feature = array(
"type" => "Feature",
"geometry" => json_decode($row["geojson"], true),
"crs" => array(
"type" => "EPSG",
"properties" => array("code" => "2154")
),
"properties" => array(
"date" => $row["date"],
"remarq" => $row["remarq"],
)
);
// Ajouter un tableau d"éléments au tableau de collection d"éléments
array_push($geojson["features"], $feature);
}
// Fermeture de la connexion
$bdd = null;
// Renvoyer le résultat
echo json_encode($geojson);
?>Code : Tout sélectionner
<input type="button" name="bout" value="Voir" onclick="chargerCouchesC();"/>Code : Tout sélectionner
<div id="map"></div>
<div class="other">
<div>
<div class='return'></div>
</div>
<div>
<div class="afficher"></div>
</div>
</div>Merci pour votre aide et n'hésitez pas si je n'ai pas été assez clair