Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/03/2010, 09h37   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 111
Points : 11
Points : 11
Par défaut 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
Fichiers attachés
Type de fichier : rar Calendrier.rar (23,9 Ko, 0 affichages)
johan0510 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 10h00   #2
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
Bonjour,

Regardes en premier la valeur de retour: print_r de $_POST['id_etat'];

Ensuite, je suis revenu dans ton formulaire, j'aurais modifié les options de ta select et ta concaténation (c doit être elle le problème).
Code :
1
2
3
 
$optionT = $data['id_etat'].' | '.$data['description_etat'];
echo '<option value='.$optionT.'>' .$optionT. '</option>';
Repenses à la value ou éclaires moi alors
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 10h19   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 111
Points : 11
Points : 11
merci Fench de ta solution!! avec ta concaténation sa fonctionne! jte laisse l'honneur d'appuyer sur le bouton résolu ;-) merci!
johan0510 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 10h23   #4
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
Dsl, je ne peux pas appuyer à ta place sur le tag résolu

Bonne journée.
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 10h26   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2010
Messages : 111
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 111
Points : 11
Points : 11
ah je savais pas! bon je le fais alors! bonne journée
johan0510 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h08.


 
 
 
 
Partenaires

Hébergement Web