Ecriture de données avec PHP et clés étrangères
Bonjour,
Je travaille sur la création d'une base de données qui sera alimentée par des formulaires HTML/CSS avec du PHP pour la récupération des informations saisies et l'écriture dans la base (classique, j'imagine). Je m'interroge sur la gestion des clés étrangères. Un exemple simple avec les tables suivantes :
- intervention (int_id, int_date, int_type)
- agent (age_id, age_prenom, age_nom)
- intervention_agent (int_id, age_id)
La table intervention_agent stocke les correspondances entre les tables intervention et agent car il peut y avoir plusieurs agents pour une même intervention.
En PHP, je procède de la manière suivante (volontairement simplifiée mais c'est pour le principe) :
1. Récupération des informations saisies dans des variables
Code:
1 2 3 4
| $date = $_POST['date'];
$type = $_POST['type'];
$prenom = $_POST['prenom'];
$nom = $_POST['nom']; |
2. Requêtes d'écriture des informations dans les tables :
Code:
1 2 3 4 5
| $rqt_intervention = $bdd->prepare('INSERT INTO intervention (int_id, int_date, int_type) VALUES ('', '$date', '$type');');
$rqt_intervention->execute();
$rqt_intervention_agent = $bdd->prepare('INSERT INTO intervention_agent (int_id, age_id) VALUES ( ??? );');
$rqt_intervention_agent->execute(); |
Ma question : comment se gère l'écriture des clés étrangères dans la table intervention_agent ? En effet, j'ai bien paramétré les champs int_id et age_id comme clés primaires dans PostgreSQL, donc mes requêtes d'écriture laissent vides ces champs qui seront automatiquement numérotés à la suite par PostgreSQL lors de l'écriture. Mais quelles valeurs dois-je indiquer dans ma requête d'écriture dans la table intervention_agent (cf. mes points d'interrogation dans la dernière requête ci-dessus) ? Là, je ne vois pas bien comment ça se passe, sur le principe...
Merci par avance pour votre aide !
Thomas