Inserer dans bd

Fermé
samia - 26 mars 2008 à 19:36
bssss Messages postés 4 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 27 mars 2008 - 26 mars 2008 à 22:21
Bonjour,
comment je peux inserer les valeures de latitude et longitude d'un point dans une carte geo_location dans ma base mysql
merci pour vous aide

4 réponses

sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
26 mars 2008 à 20:31
Bonsoir,
Quelques petites précisions ne seraient pas du luxe.
Qu'est ce que tu veux exactement, que l'on t'explique comment entrer des données dans une base de données, comment formater des données, comment récupérer les données latitude-longitude de je ne sais où, etc
Parce que là, vraiment je vois pas quoi te répondre.
0
j'ai une carte electronique qui contient des marquer dans dèffèrent regions lorsque je clique dans tel region il s'affiche ces coordonnées dans un formulaire
normalment lorsque je clique sur enregestrer il va inserer dans la base de donnéees voila se que je fais:
************form.php*********************
<html>
<head>
<script language="javascript" type="text/javascript" src="http://maps.google.com/..."></script>
<script language="javascript" type="text/javascript">
var map = null;
var geocoder = null;

function gmap_load(div, lng, lat, zoom) {
if (GBrowserIsCompatible()) {
if (!map) {
map = new GMap2(document.getElementById(div));
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.addControl(new GLargeMapControl());
}
coord = new GLatLng( lat, lng );
map.setCenter(coord, zoom);
gmap_add_marker(coord, div);
}
}
function gmap_add_marker(coord, div) {
map.clearOverlays();
var marker = new GMarker(coord, {draggable: true});
GEvent.addListener(marker, "click", function() {
ncoords = marker.getPoint();
map.setCenter(ncoords);
document.getElementById(div+'_lon').value = ncoords.lng();
document.getElementById(div+'_lat').value = ncoords.lat();
});
map.addOverlay(marker);
}
</script>
</head>

<body>
<fieldset style="border: 10px double #600205">
<div align="center">
<div id="map" style="width: 350px; height: 450px"></div>
<br>

<form name="google_search" action="envoi1.php" method="post">
-Longitude: <input type="text" id="map_lon" name="map_lon" value=""/>
-Latitude : <input type="text" id="map_lat" name="map_lat" value=""/><br />

<input type= "submit" value="enregistrer"/>
</div>
</form>

<script language="javascript" type="text/javascript">gmap_load('map', 10.112454, 34.36544, 6);</script>
</fieldset>
</body>
</html>
***********************envoi1.php***********************
<?php
$map_lat=$_Post['map_lat'];
$map_lon=$_Post['map_lon'];



$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_selectdb("carte geo_location",$link) or die ("Can\'t use dbmapserver : " . mysql_error());
$Insertionlon = "insert into coor values('','$map_lat','$map_lon')";
mysql_query ($Insertionlon);

echo "Vos données ont été envoyées !"; ?>
<?php
include "ajout.php";

// fermeture de la connexion vers Mysql
mysql_close();
?>

donsc il insere dans la base des valeur null
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
26 mars 2008 à 21:13
Il n'y a pas d'erreurs qui me sautent aux yeux, je ne vois plus qu'un "débuggage maison" : Change ton fichier ainsi et regarde ce que ça te donne (et si ça marche pas merci de recopier l'éventuel message d'erreur ainsi que les map_lat et map_lon)

***********************envoi1.php***********************
<?php
// J'ai toujous utilisé $_POST au lieu de $_Post mais bon je sais pas si ça change quelque chose...
$map_lat=$_POST['map_lat'];
$map_lon=$_POST['map_lon'];

// On vérifie d'abord s'il récupère bien les données
echo "map_lat : ".$map_lat;
echo "map_lon : ".$map_lon;

$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_selectdb("carte geo_location",$link) or die ("Can\'t use dbmapserver : " . mysql_error());
$Insertionlon = "insert into coor values('','$map_lat','$map_lon')";
// On ajoute un or die(mysql_error) pour vérifier si l'insertion se fait bien
mysql_query ($Insertionlon) or die(mysql_error);

echo "Vos données ont été envoyées !"; ?>
<?php
include "ajout.php";

// fermeture de la connexion vers Mysql
mysql_close();
?>
0
merci a votre aide ca marche bien
j'ai un autre question svp
ma table contient 3 colonnes (id, lap_lat, map_lon ) lorsque j'insere lat et lon a partir du formulaire que je fais precedament
dans la base par exp j'obtient dans ma base ces valeurs ::

id=3 lat=34 lon=10
et lorsque je supprime ces valeur de la base et j'inserer des nouveaux des valeurs j'obtient dans ma base ces valeurs
id=4 lat=36 lon=11
alors que je veut l'id=3 qui eté supprimer et non pas id=4
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
26 mars 2008 à 22:13
Pourquoi vouloir remettre les id à 0... Normalement un ID tu t'en fout de sa valeur.
Je n'ai absolument pas le début d'une idée sur comment réinitialiser les ID, je n'ai jamais eu besoin de ça.
Au pire tu supprimes l'auto incrément et tu incrémente toi même : tu récupère l'ID le plus grand, tu crées une variable intermédiaire $id_temp=$id_last + 1; et tu insère ce $id_tmp.
Mais bon c'est du bidouillage maison donc même si ça marche je garantie pas que ça soit la meilleur façon. Aussi bien il existe une fonction faite pour ça mais je ne la connais pas, désolé.
0
bssss Messages postés 4 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 27 mars 2008
26 mars 2008 à 22:21
ok merci a votre aide
bn
0