Insert sur un index de form select
Bonjour à tous,
Je souhaite réaliser une requete d'insertion dont l'un des champs doit récupérer l'identifiant de l'option sélectionnée dans une liste déroulante.
Voici ma liste déroulante et la requête la générant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
//Affichage du formulaire
$req2 = "select * from diplome";
$res2 = mysql_query($req2) or die ("Erreur requête 2");
?>
<form action="insert.php" method="POST">
<u><strong>Diplome</strong></u><br><br>
<select>
<?php
while ($tab = mysql_fetch_array($res2))
{
echo '<select name="diplome">
<option value=\"'.$tab['dip_num'].'\">'.$tab['dip_code'].'</option>
</select>';
}
$diplome=$_POST['diplome'];
?> |
La page insert.php contient la requete d'insertion :
Code:
1 2 3 4 5 6 7
| <?php
if(isset($_POST['dos_num'])) $dos_num=$_POST['dos_num'];
else $dos_num="";
$diplome=$_GET['diplome'];
$sql = "INSERT INTO dossier(dos_num, dip_num) VALUES('$dos_num','$diplome')"; |
Le problème étant que le code diplome n'est pas récupéré et une erreur s'affiche :
Erreur SQL !INSERT INTO dossier(dos_num, dip_num) VALUES('5','')
Cannot add or update a child row: a foreign key constraint fails (`base/dossier`, CONSTRAINT `dossier_ibfk_16` FOREIGN KEY (`dip_num`) REFERENCES `diplome` (`dip_num`))
Le champ dip_num de l'option doit etre récupéré dans la page insert.php, mais je pense que je m'y prend mal.