1 pièce(s) jointe(s)
Insertion des données d'un formulaire dans une table contenant des clés étrangères
Bonjour
J'ai un formulaire que j'utilise pour envoyer les données dans la base de données. Dans ma table d'insertion, il y a les clés étrangères d'autres tables. Comment puis-je les ajouter ? Comment récupérer les valeurs des clés étrangères pour les insérer dans ma table ? Merci pour votre aide !
Pour comprendre voici ma table d'insertion :
Pièce jointe 253725
Voici mon formulaire : formulaire2.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CHU Evreux - Enregistrement patient</title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<form class="form-search" method="post" action="traitement2.php">
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bdchu";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
?>
<legend>Patients enregistrés
<select name="nompatient">
<?php
$sql1 = 'SELECT * FROM patients ';
$result1 = $conn->query($sql1);
if ($result1->num_rows > 0) {
echo ('<option value="Nom" selected=""> Selectionnez un patient</option>');
while($donnees1 = $result1->fetch_assoc()) {
echo ('<option value="'.$donnees1['IdPatient'].'">'.$donnees1['Nom'].' '.$donnees1['Prenom'].'</option>');
}
}
else {
echo "0 results";
}
//$conn->close();
?>
</select>
</legend><br>
<!-- Bouton à supprimer il est inutile de valider le champ select -->
<br>
<legend>Services
<select name="nomservice">
<?php
$sql2 = 'SELECT * FROM services ';
$result2 = $conn->query($sql2);
if ($result2->num_rows > 0) {
while($donnees2 = $result2->fetch_assoc()) {
echo ('<option valeur="'.$donnees2['IdService'].'">'.$donnees2['NomService'].'</option>');
}
}
else {
echo "0 results";
}
$conn->close();
?>
</select>
</legend><br>
<label for="DateConsul">La date de consultation</label>
<!-- Changer datenaissance par DateConsul -->
<input type="date" name="dateconsul" id="DateConsul"><br><br>
<label for="HeureConsul">L'heure de la consultation</label>
<!-- Changer heureconsul par HeureConsul -->
<input type="time" name="heureconsul" id="HeureConsul"><br><br>
<label for="ButConsul">Motif de consultation:</label>
<!-- Changer butconsul par ButConsul -->
<textarea name="butconsul" id="ButConsul" rows="5" cols="15" ></textarea><br><br>
<input type="submit" value="Envoyer" />
</form>
<?php
// include("footer.html");
?>
</body>
</html> |
Voici le fichier de traitement du formulaire : traitement2.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CHU Evreux - Enregistrement patient</title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bdchu";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
// On vérifie si la variable existe et sinon elle vaut NULL
$n_patient = $_POST['nompatient'] ? $_POST['nompatient'] : NULL;
$n_service = $_POST['nomservice'] ? $_POST['nomservice'] : NULL;
$d_consul = $_POST['dateconsul'] ? $_POST['dateconsul'] : NULL;
$h_consul = $_POST['heureconsul'] ? $_POST['heureconsul'] : NULL;
$b_consul = $_POST['butconsul'] ? $_POST['butconsul'] : NULL;
//$requete1="SELECT IdPatient FROM patients WHERE Nom ='$n_patient' ";
//$requete2="SELECT IdService FROM services WHERE NomService ='$n_service' ";
//$result1= $conn->query($requete1);
//$result2=$conn->query($requete2);
//if (($result1->num_rows > 0) && ($result2->num_rows > 0)) {
//while($donnees1 = $result1->fetch_assoc()) {$id_patient=$donnees1['IdPatient'];}
//while($donnees2 = $result2->fetch_assoc()) {$id_service=$donnees2['IdService'];}
function requete1()
{
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bdchu";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
// On vérifie si la variable existe et sinon elle vaut NULL
$n_patient = $_POST['nompatient'] ? $_POST['nompatient'] : NULL;
$sql = "SELECT IdPatient FROM patients WHERE Nom ='$n_patient' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($donnees = $result->fetch_assoc()) {
$test=$donnees['IdPatient'];
echo ($test);
}
} else {
echo "0 results";
}
$conn->close();
return $test;
}
$te=requete1();
$sql = 'INSERT INTO consultations (IdConsul, fk_IdPatient, DateConsul, HeureConsul, ButConsul)
VALUES("", "'.$te.'", "'.$d_consul.'" , "'.$h_consul.'", "'.$b_consul.'")';
if ($conn->query($sql) === TRUE) {
echo "les données ont bien étés insérées dans la base de données";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
<?php
//include("footer.html");
?>
</body>
</html> |