J'ai créée un script qui permet d'afficher un rectangle modifiable sur une map, et ensuite j'ai réussit a entrer les données modifiées un fichier ajax et un autre fichier php sur ma bdd, cependant le problème que j'ai est lors du rechargement de ma page car initialement lorsque le fichier passe pour la 1ere fois tout marche mais lorsque je recharge ma page les modifications ne sont pas conservé et ensuite je ne peut même plus enregister mes prochaines modifications, comment puis je faire ?
Code : Tout sélectionner
var bounds = {
north: 47.79839667295524, // On définit les valeurs initiales du rectangle avec quatre informations
south: 46.99524110694597, // La coordonné de son segment Nord, de son segment Sud, de son segment Est et de son segmen West
east: 5.042724609375,
west: 3.548583984375
};
// On définie le rectangle et ses différentes propriétés
rectangle = new google.maps.Rectangle({
bounds: bounds,
editable: true, // peremt de modifier la forme du rectangle
draggable: true // permet de déplacer le rectangle
});
rectangle.setMap(map); // on met le rectangle sur la carte
rectangle.addListener('bounds_changed', showNewRect);
infoWindow = new google.maps.InfoWindow(); // on définit une bouvelle fen^tre d'information qui ontiendra les coordonnées du rectangle
<?php
try // On va ensuite envoyé ses données dans la Base de données
{
$bdd = new PDO('mysql:host=localhost;dbname=riadh;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$_id_cap = $_GET['_id_cap'];
$cadre_coord = $bdd->query('(SELECT `north_rect`, `south_rect`, `east_rect`, `west_rect`, `_id_cap` FROM iftt_rectangle WHERE `_id_cap`=\''.$_id_cap.'\')');
$new = $cadre_coord->fetchAll(PDO::FETCH_ASSOC);
$cadre_coord->closeCursor();
echo $new['north_rect'];
?>
if (47.79839667295524!=<?php echo $new['north_rect'] ?> && 46.99524110694597!=<?php echo $new['south_rect'] ?> && 5.042724609375!=<?php echo $new['east_rect'] ?> && 3.548583984375!=<?php echo $new['west_rect'] ?>){
rectangle.setMap(null);
var boundss = {
north: <? echo $new['north_rect'] ?>, // On définit les valeurs initiales du rectangle avec quatre informations
south: <? echo $new['south_rect'] ?>, // La coordonné de son segment Nord, de son segment Sud, de son segment Est et de son segmen West
east: <? echo $new['east_rect'] ?>,
west: <? echo $new['west_rect'] ?>
};
// On définie le rectangle et ses différentes propriétés
rectanglenew = new google.maps.Rectangle({
bounds: boundss,
editable: true, // peremt de modifier la forme du rectangle
draggable: true // permet de déplacer le rectangle
});
rectanglenew.setMap(map); // on met le rectangle sur la carte
rectanglenew.addListener('bounds_changed', showNewRect);
infoWindow = new google.maps.InfoWindow(); // on définit une bouvelle fen^tre d'information qui ontiendra les coordonnées du rectangle
}
Code : Tout sélectionner
<?php
$north_rect = $_POST["north_rect"]; // on récupère les valeurs envoyées par l'AJAX
$south_rect = $_POST["south_rect"]; // Et on les place dans des variables
$east_rect = $_POST["east_rect"];
$west_rect = $_POST["west_rect"];
$_id_cap = $_POST["_id_cap"];
echo 'enregistrement réussi :'; // On affiche que les données ont bien été enregistrées
echo print_r($_POST);
try // On va ensuite envoyé ses données dans la Base de données
{
$bdd = new PDO('mysql:host=localhost;dbname=riadh;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$cadre_coord = $bdd->exec("UPDATE ifttt_rectangle SET _id_cap =\"$_id_cap\" , north_rect =$north_rect , south_rect = $south_rect ,east_rect = $east_rect ,west_rect = $west_rect WHERE _id_cap= \"$_id_cap\"");
?>