Insertion dans la base de donnée postgresql non effectuer

Fermé
ayaros21 Messages postés 12 Date d'inscription lundi 30 mai 2016 Statut Membre Dernière intervention 20 juin 2017 - 7 juin 2017 à 13:19
ayaros21 Messages postés 12 Date d'inscription lundi 30 mai 2016 Statut Membre Dernière intervention 20 juin 2017 - 7 juin 2017 à 17:09
Bonjour ,
j ai un probleme avec l insertion de donnée d'un formulaire dans une table d postgresql voici le code :
<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=geo user=postgres password=root");
if( $dbconn ){
echo"succes";
}
if(isset($_POST["add"])){
$medecin=$_POST["medecin"];
$adress=$_POST["adress"];
$lat=$_POST["lat"];
$long=$_POST["long"];
$tel=$_POST["tel"];
$q="insert into medecin (nom,latitude,longitude,tel) values ('".$medecin."','".$adress."','".$lat."','".$long."','".$tel."')";
$aql=pg_query($q);
if($aql){
echo"data inserted";
}else {
echo"error");
}

}


?>
<!doctype html>
<html>
<head>
<title>leaflet demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map {
width: 1500px;
height: 480px;
}
</style>

<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script>

</head>
<body>
<div id="map"></div>
<script type="text/javascript">
var map = L.map('map').setView([36.7118200, 4.0459100], 13);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: 'Map data © <a href="http://www.osm.org" rel="nofollow noopener noreferrer" target="_blank">OpenStreetMap</a>' }).addTo(map);



var marker = L.marker([36.7118200, 4.0459100],{
draggable:true

}).addTo(map);

function onMapClick(e){
$("#lat").val(e.latlng.lat.toString());
$("#lng").val(e.latlng.lng.toString());

}
map.on('click',onMapClick);

</script>
<div class="">
<label for="">Medecin:</label><input id="nom"type="text" name="medecin" value="">
<label for="">Adresse</label><input id=""type="text" name="adress" value="">
<label for="">Tel:</label><input id="nom"type="text" name="tel" value="">
<label for="">Latitude</label><input id="lat" type="lat" name="" value="">
<label for="">Longitude</label><input id="lng" type="lng" name="" value="">
<input type="submit" name="add" value="add">

</div>
</body>
</html>

la connexion est bien etablie et il m affiche succes parcontre les donnée ne s insère pas merci pour vos reponse

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
7 juin 2017 à 13:55
Salut,

Commence par afficher le message d'erreur sql dans le cas où la requête ne s'est pas exécutée correctement, ca permettra de cibler le problème : https://www.php.net/manual/fr/function.pg-last-error.php

As tu essayer d'afficher ta requête afin de vérifier qu'elle est syntaxiquement correcte ?

Bonne journée,
0
ayaros21 Messages postés 12 Date d'inscription lundi 30 mai 2016 Statut Membre Dernière intervention 20 juin 2017
7 juin 2017 à 14:54
Bonsoir,
voila j ai rectifier quelque ligne de code et voila l'erreur qui s'affiche
Warning: pg_query(): Query failed: ERREUR: parse error - invalid geometry LINE 1: ...to medecin (nom,latitude,longitude,tel) values ('','','','') ^ in C:\wamp\www\licence1\pages\admin.php on line 16

Bonne journée,
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
7 juin 2017 à 16:41
La requête affichée dans le message d'erreur ne te semble pas incorrecte ?

Il semble qu'il manque les valeurs des champs à insérer qui proviennent d'après ton code des variables POST, les variables POST semblent n'être pas définies.

Comment est effectué le transfert des variables POST ? Ne te manquerai t'il pas une balise form avec l'attribut action="post" ?
0
ayaros21 Messages postés 12 Date d'inscription lundi 30 mai 2016 Statut Membre Dernière intervention 20 juin 2017
7 juin 2017 à 17:09
oui c'est vrai merci le problème est reglé il manquait bien une balise form et action="post ainsi que la longitude et latitude devait être declarer dans un seul attribut dans la table de la base de donnée postgresql merci pour votre réponse
0