1 pièce(s) jointe(s)
problème d'enregistrement des données
Bonjour à tous,
j'ai un problème concernant l'enregistrement dans ma base de données.
j'ai trois tables :
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
| 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; |
et un formulaire de saisi des horaires dont voici le code :
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 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();
?> |
ainsi que la fonction inscription_horaire :
Code:
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