IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

problème d'enregistrement des données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    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 : 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;
    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
    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 : 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
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $optionT = $data['id_etat'].' | '.$data['description_etat'];
    echo '<option value='.$optionT.'>' .$optionT. '</option>';
    Repenses à la value ou éclaires moi alors

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    merci Fench de ta solution!! avec ta concaténation sa fonctionne! jte laisse l'honneur d'appuyer sur le bouton résolu ;-) merci!

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Dsl, je ne peux pas appuyer à ta place sur le tag résolu

    Bonne journée.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    ah je savais pas! bon je le fais alors! bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2014, 09h25
  2. Problème pour enregistrer des données
    Par furax51 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/07/2014, 09h35
  3. [WD19] Problème enregistrement des données d'un sélecteur
    Par mimi1255 dans le forum WinDev
    Réponses: 3
    Dernier message: 16/04/2014, 09h43
  4. [Débutant] problème au cours de l'enregistrement des données
    Par pokyss1 dans le forum C#
    Réponses: 1
    Dernier message: 08/05/2012, 13h07
  5. Réponses: 5
    Dernier message: 20/11/2010, 02h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo