Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#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: 84
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