Bonjour à tous,
j'ai un problème concernant l'enregistrement dans ma base de données.
j'ai trois tables :
et un formulaire de saisi des horaires dont voici le code :
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 CREATE TABLE etat( id_etat INT NOT NULL AUTO_INCREMENT, description_etat VARCHAR(40) NOT NULL, constraint Pk_etat Primary Key (id_etat))TYPE=InnoDB; CREATE TABLE evenements( id_evenement INT NOT NULL AUTO_INCREMENT, jour_evenement VARCHAR(2) NOT NULL, mois_evenement VARCHAR(2) NOT NULL, annee_evenement VARCHAR(4) NOT NULL, heure_debut VARCHAR(2), heure_fin VARCHAR(2), id_etat INT, constraint Pk_evenements Primary key (id_evenement), constraint Fk_evenements Foreign key (id_etat) References etat (id_etat))TYPE=InnoDB; CREATE TABLE horaires( id_horaire INT NOT NULL AUTO_INCREMENT, jour VARCHAR(10), heure_debut VARCHAR(2), heure_fin VARCHAR(2), id_etat INT, constraint Pk_horaires Primary key (id_horaire), constraint Fk_horaires Foreign key (id_etat) References etat (id_etat))TYPE=InnoDB;
ainsi que la fonction inscription_horaire :
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 <?php include ('traitements.php'); connectDB(); if (isset($_POST['envoi'])) { //création de la requète d'insertion $jour = $_POST['jour']; $heure_debut = $_POST['heure_debut']; $heure_fin = $_POST['heure_fin']; $id_etat = $_POST['id_etat']; inscription_horaire ($jour, $heure_debut, $heure_fin, $id_etat); echo "<ul><li>L'inscription est validée</li></ul>"; } echo "<h1>Ajouter un horaire d'ouverture</h1> <form method= 'POST' action='#'> <table id='tabAjoutHoraire'> <tr> <td>Jour : </td> <td><select name='jour'> <option value='1'>Lundi</option> <option value='2'>Mardi</option> <option value='3'>Mercredi</option> <option value='4'>Jeudi</option> <option value='5'>Vendredi</option> <option value='6'>Samedi</option> <option value='7'>Dimanche</option> </select></td> </tr> <tr> <tr> <td>Heure Début : </td> <td><select name='heure_debut'> <option value='0'>0</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> </select></td> </tr> <tr> <tr> <td>Heure Fin : </td> <td><select name='heure_fin'> <option value='0'>0</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> </select></td> </tr> <tr> <td>Etat : </td> <td><select name='id_etat'>"; $sql = ('SELECT * FROM etat'); $req = mysql_query($sql) or die(mysql_error()); while($data = mysql_fetch_assoc($req)) { echo '<option value=id_etat>' .$data['id_etat'].' | '.$data['description_etat']. '</option>'; // concaténation des deux éléments de la table état } mysql_close(); echo "</select></td> </tr> <tr> <td><input name='reset' type='reset' value='Recommencer'/></td> <td colspan='2'><input type='submit' name='envoi' value='Envoyer'/></td> </tr> </table> </form> <br><a href='index.php'>Revenir à l'accueil</a></p>"; echo "<h2>Les horaires d'ouverture dans la base de données</h2>"; echo affichageHoraires(); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //---------------------------------------------------------------------------------------------------------------------------------------- // FONCTION D'INSCRIPTION D'UN NOUVEL HORAIRE //---------------------------------------------------------------------------------------------------------------------------------------- function inscription_horaire ($jour, $heure_debut, $heure_fin, $id_etat) { $sql="INSERT INTO horaires VALUES ('', $jour, $heure_debut, $heure_fin, $id_etat)"; mysql_connect("localhost","root",""); mysql_select_db("calendrier"); mysql_query($sql) or die ('Erreur : '.mysql_error()); }
Le problème étant que lorsque je valide le formulaire, l'id_etat de la table horaires ne s'affiche pas dans ma base de données :
Id Horaire/Jour/Heuredebut/Heure fin/Id Etat
1/1/0/0
Quelqu'un peut-il m'aider à ce sujet? je laisse mon fichier en .rar pour ceux qui veulent voir entièrement le projet.
Merci
Partager