Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Thu 16 December 2021 16:33
- croy
- Juste Inscrit !
- Date d'inscription: 16 Dec 2021
- Messages: 4
insert into base POSTGRESQL PHP
Bonjour à tous,
J'essaie d'intégrer des données dans une base postgresql via un formulaire php.
J'arrive bien à intégrer des données dans UNE SEULE table via une requete INSERT INTO mais je n'arrive pas à insérer des données dans plusieurs tables reliées avec des clés étrangères via un seul formulaire :
exemple du code ci-dessous : je remplis la table geolive.prestation puis je récupère l''id_prestation pour remplir la table geolive.diagnostic. Ca fonctionne bien sous pgadmin mais ca ne fonctionne pas en php.
voici le php :
Code:
$date_prestation = $_POST["date_prestation"]; $obs_prestation = $_POST["obs_prestation"]; $obs_conseil = $_POST["obs_conseil"]; $poids_recolte_tritu = $_POST["poids_recolte_tritu"]; $nb_litres = $_POST["nb_litres"]; $id_agent = $_POST["id_agent"]; $id_prop = $_POST["id_prop"]; $id_olivier = $_POST["id_olivier"]; $etat_sanitaire = $_POST["etat_sanitaire"]; $obs_diagnostic = $_POST["obs_diagnostic"]; $img_diag = $_POST["img_diag"]; $query = pg_query($connexion, "WITH ins1 AS (INSERT INTO geolive.prestation (date_prestation,obs_prestation,obs_conseil,poids_recolte_tritu,nb_litres,id_agent,id_prop) VALUES ('$date_prestation','$obs_prestation','$obs_conseil','poids_recolte_tritu','nb_litres','$id_agent','$id_prop') RETURNING id_prestation) INSERT INTO geolive.diagnostic (id_prestation, id_olivier, etat_sanitaire, obs_diagnostic, img_diag) SELECT id_prestation,'$id_olivier','$obs_diagnostic','$etat_sanitaire', '$obs_diagnostic', '$img_diag' FROM ins1;"); if ( $query ) { echo(" La nouvelle prestation a bien été ajoutée !"); }
Une erreur pourrait provenir du SELECT, il n'arriverait pas à aller chercher dans le formulaire pour remplir la table?
Si vous avez des pistes, je vous en remercie d'avance,
Cédric
Hors ligne
#2 Fri 17 December 2021 15:32
- Franck2908
- Participant actif
- Date d'inscription: 5 Mar 2010
- Messages: 85
Re: insert into base POSTGRESQL PHP
Bonjour,
dans votre requête INSERT, partie VALUES il manque des $ pour 'poids_recolte_tritu' et 'nb_litres'.
si ces champ sont des entiers là vous envoyez du texte ('poids_recolte_tritu' et 'nb_litres') et non la valeur de la variable $poids_recolte_tritu et $nb_litres.
cordialement
Franck
Dernière modification par Franck2908 (Fri 17 December 2021 15:34)
Hors ligne
#3 Fri 17 December 2021 15:54
- croy
- Juste Inscrit !
- Date d'inscription: 16 Dec 2021
- Messages: 4
Re: insert into base POSTGRESQL PHP
Ah oui, damned, merci Franck
Hors ligne