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 :
Voici mon formulaire : formulaire2.php :
Voici le fichier de traitement du formulaire : traitement2.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Partager