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émes de champ automatique que je dois utiliser dans la forme


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut problémes de champ automatique que je dois utiliser dans la forme
    bonjour chers devlopeurs ,

    j'ai un problème de logique, bon voilà :

    j'ai une table "booking" avec un champ ID "code_booking" qui est généré automatiquement.

    j'ai une table "service" qui a pour clé le champ automatique "code_srv" et qui est relié à la table "booking" par une table "sur_un" qui contient les clés des deux tables + qq infos supplémentaires.

    je veux que lorsque je submit ma form la table sur un soit remplie avec les ID des deux tables.

    je sais pas si je suis claire mais voila le blem comment replir un champ avec une valeur qui est généré automatique après le submit de la form.

    je fournirai toutes les infos dont vous aurez besoin.

    merci

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    tu fais une première insertion dans la table booking et tu recuperes l'id

    une deuxième dans la table service et tu recuperes l'id

    une troisième insertion dans la table sur_un avec les deux ids récupurées

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    tout ça dans la même form? si oui comment procéder?

    please

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    as tu déjà fait un script pour cela et si oui peux tu nous l'afficher ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Ok donnez moi une minute

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE `booking` (
      `code_book` int(5) NOT NULL auto_increment,
      `label_book` varchar(50) NOT NULL default '',
      `date_book` date default '0000-00-00',
      `duree_book` varchar(30) NOT NULL default '',
      `rq_book` varchar(200) default NULL,
      `prolongation` varchar(45) default NULL,
      `duree_pro` varchar(45) default NULL,
      `code_fournisseur` int(5) NOT NULL default '0',
      PRIMARY KEY  (`code_book`),
      KEY `FK_booking_1` (`code_fournisseur`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `service` (
      `code_srv` int(5) NOT NULL auto_increment,
      `lib_srv` varchar(20) NOT NULL default '',
      `rq_srv` varchar(200) default NULL,
      `duree_srv` varchar(45) default NULL,
      PRIMARY KEY  (`code_srv`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    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
    CREATE TABLE `sur_un` (
      `code_book` int(5) NOT NULL default '0',
      `code_srv` int(5) NOT NULL default '0',
      `correspondant` varchar(30) NOT NULL default '',
      `demandeur` varchar(30) NOT NULL default '',
      PRIMARY KEY  (`code_book`,`code_srv`),
      KEY `code_book` (`code_book`,`code_srv`),
      KEY `FK_sur_un_2` (`code_srv`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
     
    -- 
    -- Contenu de la table `sur_un`
    -- 
     
     
    -- 
    -- Contraintes pour les tables exportées
    -- 
     
    -- 
    -- Contraintes pour la table `sur_un`
    -- 
    ALTER TABLE `sur_un`
      ADD CONSTRAINT `FK_sur_un_1` FOREIGN KEY (`code_book`) REFERENCES `booking` (`code_book`),
      ADD CONSTRAINT `FK_sur_un_2` FOREIGN KEY (`code_srv`) REFERENCES `service` (`code_srv`);


    la form enregistrement :
    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
     <table  width="1067"  bgcolor="#3B5998" align="center" frame="void">
    	<tr>
    		<td width="161" align="right"><div align="left"><font color="#FFFFFF">Libellé réservation  :</font></div></td>
    		<td width="876" aligh="center"><input type="text" name="label_book" size="39" autocomplete="off"/></td>
    		</tr>
    	<TR>
    		<td align="right"><div align="left"><font color="#FFFFFF">Date de réservation  :</font></div></td>
    		<td><input type="text" name="date_book" size="39" autocomplete="off"> 
    		  <a href="javascript:showCal('Calendar2')"><img src="cal.jpg" align="center"></td>
    	</TR>
        <TR>
    		<td align="right"><div align="left"><font color="#FFFFFF">Durée réservation  :</font></div></td>
    		<td><input type="text" name="duree_book" size="39" autocomplete="off"> </td>
    	</TR>
     
    	<td height="42" align="right"><div align="left"><font color="#FFFFFF">Y a t-il une prolongation ?      </font></div></td>
    		<td>
    			<input name="nouveau_code" type="button" style="color:red" value="Oui" onClick="ajaxFunction20();ajaxFunction21();ajaxFunction22();ajaxFunction23(); 
                "/><input type="hidden" name="new_id_code" size="39" value="Entrer la duree"/>
    		</td>
    	</tr>
    		<tr>
    		<td align="right"><div align="left"></div></td>
    	</tr>
    	</tr>
    	    <div align="left"></div>
     
     
        <!--<TR>
    		<td align="right"><div align="left"><font color="#FFFFFF">durée réservation  :</font></div></td>
    		<td><input type="text" name="duree_book" size="39" autocomplete="off">
            </td>
    	</TR> -->
     
     
    .................................
     
     
     
    	<!--<TR>
    		<td align="right"><font color="#FFFFFF">Prolongation ?   :</font></td>
    		<td align="left"><input type="checkbox" name="service1"/></td>
    		<td align="right"><font color="#FFFFFF">duree prolongation  :</font></td>
    		<td><input type="text" name="duree_pro" size="39" autocomplete="off"/></td>
    	</TR>-->
    	</tr>
    	    <div align="left"></div>
     
    		<tr>
    		<td align="right"><div align="left"></div></td>
    	</tr>
    	<TR>
    		<td align="right"><div align="left"><font color="#FFFFFF">Particularité  :</font></div></td>
    		<td><input type="text" name="rq_book" size="39" autocomplete="off"/>        
     
     
     ....................
     
     
     
    	</tr>
     
    	<tr>
    		<td align="right"><div align="left"><font color="#FFFFFF">Service :</font></div></td>
    		<td>
    			<select name="service" STYLE="width:262">
     
    			<?php
    			mysql_connect("localhost","root","");
    			mysql_select_db("trafic");
    			$service=mysql_query("select * from service");
    			while($code_service=mysql_fetch_array($service))
    			{
    			echo "<option>{$code_service['code_srv']}/{$code_service['lib_srv']}</option>";
    			}
    			mysql_close();
    			?>
    			</select>
     
    		</td>
    	</tr>
     
        <tr>
    		<td align="right"><div align="left"><font color="#FFFFFF">Correspondant    &nbsp; :</font></div></td>
    		<td>  <input type="text" name="nom_corr" size="39" autocomplete="off">        </td></tr>
            <tr>
            <td align="right"><div align="left"><font color="#FFFFFF">Demandeur  &nbsp; :</font></div></td>
    		<td><input type="text" name="demandeur" size="39" autocomplete="off"> </td> <td width="0"></td>

    la form qui fait les inserts
    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
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("trafic");
    $sql="INSERT INTO booking (label_book, date_book, duree_book, rq_book, duree_pro, code_fournisseur)
    VALUES
    ('$_POST[label_book]', '$_POST[date_book]', '$_POST[duree_book]', '$_POST[rq_book]', '$_POST[new_id_code]', '$_POST[fournisseur]')";
    if (!mysql_query($sql))
      {
      die('Error: ' . mysql_error());
      }
      echo "1 record added";
    mysql_close()
     
    ?> 
    _____________________________________________________________________________________________[Booking et Fournisseur!!!]
     
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("trafic");
    $sql="INSERT INTO sur_un (code_book, code_srv, correspondant, demandeur)
    VALUES
    ('$_POST[label_book]', '$_POST[date_book]', '$_POST[duree_book]', '$_POST[rq_book]', '$_POST[new_id_code]', '$_POST[fournisseur]')";
    if (!mysql_query($sql))
      {
      die('Error: ' . mysql_error());
      }
      echo "1 record added";
    mysql_close()
     
     
     
    ?>


    j'espère que c'est suffisant ... j'ai trop suppreimer le code fé plus de 500 ligne...


    merci bcp les ga!!

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Code php : 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
     
     
    $sql="INSERT INTO booking (label_book, date_book, duree_book, rq_book, duree_pro, code_fournisseur)
    VALUES
    ('$_POST[label_book]', '$_POST[date_book]', '$_POST[duree_book]', '$_POST[rq_book]', '$_POST[new_id_code]', '$_POST[fournisseur]')";
     
    if (!mysql_query($sql))
      {
      die('Error: ' . mysql_error());
      }
     
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré
     
    la même chose avec la seconde requete
     
    ....
     
    $idService = mysql_insert_id(): // récupération de l'id service inséré
     
    // insertion dans la table sur_un
    mysql_query("INSERT INTO sur_un (idBooking, idService) VALUES ($idBooking ,$idService)") or die('Error: ' . mysql_error());
     
    mysql_close();

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    je vais tester ce soir ... merci du fond du cœur!!

    A ce soir

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Parse error: parse error in l:\web project\traficoperat\sadmin\acces\enr.php on line 24


    la ligne que vous m'avez donner ... malheureusement ça n'a pas marché


    aidez moi svp

  10. #10
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré
     
    la même chose avec la seconde requete
     
    ....
     
    $idService = mysql_insert_id(): // récupération de l'id service inséré

    oui c'est normal, c'était un exemple

    à cet endroit, tu dois mettre ta seconde insertion

    Code php : 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
     
     
    $sql="INSERT INTO booking (label_book, date_book, duree_book, rq_book, duree_pro, code_fournisseur)
    VALUES
    ('$_POST[label_book]', '$_POST[date_book]', '$_POST[duree_book]', '$_POST[rq_book]', '$_POST[new_id_code]', '$_POST[fournisseur]')";
     
    mysql_query($sql) or die('Error: ' . mysql_error());
     
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré
     
    $sql="INSERT INTO service(champs1, champs2...)
    VALUES
    ('$_POST["post1"]', '$_POST["post2"]',...)";
     
    mysql_query($sql) or die('Error: ' . mysql_error());
     
    $idService = mysql_insert_id(): // récupération de l'id service inséré
     
    // insertion dans la table sur_un
    mysql_query("INSERT INTO sur_un (idBooking, idService) VALUES ($idBooking ,$idService)") or die('Error: ' . mysql_error());
     
    mysql_close();

  11. #11
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    testing merci ....


    please ne m'oubliez pas ...

  12. #12
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    new code .... mais ça marche pas encore

    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
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("trafic");
    $sql="INSERT INTO booking (label_book, date_book, duree_book, rq_book, duree_pro, code_fournisseur)
    VALUES
    ('$_POST[label_book]', '$_POST[date_book]', '$_POST[duree_book]', '$_POST[rq_book]', '$_POST[new_id_code]', '$_POST[fournisseur]')";
    if (!mysql_query($sql))
      {
      die('Error: ' . mysql_error());
      }
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré
    $sql2="INSERT INTO sur_un (code_book, code_srv, correspondant, demandeur)
    VALUES
    ('$idBooking', '$_POST[service]', '$_POST[correspandant]', '$_POST[demandeur]')";
    if (!mysql_query($sql2))
      {
      die('Error: ' . mysql_error());
      }
    mysql_close()

  13. #13
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    quel est ton message d'erreur ?

  14. #14
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    le même ...


    Parse error: parse error in l:\web project\traficoperat\sadmin\acces\enr.php on line 24

  15. #15
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    avec des quotes autour des clés de ton tableau $_POST

    :

    Code php : 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
     
     
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("trafic");
    $sql="INSERT INTO booking (label_book, date_book, duree_book, rq_book, duree_pro, code_fournisseur)
    VALUES
    ('".$_POST['label_book']."', '".$_POST['date_book']."', '".$_POST['duree_book']."', '".$_POST['rq_book']."', '".$_POST['new_id_code']."', '".$_POST['fournisseur']."')";
    if (!mysql_query($sql))
      {
      die('Error: ' . mysql_error());
      }
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré
    $sql2="INSERT INTO sur_un (code_book, code_srv, correspondant, demandeur)
    VALUES
    ('".$idBooking."', '".$_POST['service']."', '".$_POST['correspandant']."', '".$_POST['demandeur']."')";
    if (!mysql_query($sql2))
      {
      die('Error: ' . mysql_error());
      }
    mysql_close()

  16. #16
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    $idBooking = mysql_insert_id(): // récupération de l'id booking inséré


    l'erreur est en rouge ....


    ça marche maintenant !!! merci!!!


    je vous écris si j'ai besoin d'aide!!


    MERCI DU FOND DU CŒUR!

Discussions similaires

  1. Objet proxy? Est ce bien ce que je dois utiliser?
    Par eldon dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 14/12/2009, 09h14
  2. Qu'est-ce que je dois utiliser: routeurs ou pas
    Par Lucas Panny dans le forum Hardware
    Réponses: 2
    Dernier message: 22/06/2009, 10h11
  3. Problème d'ajout automatique de references en utilisant le code
    Par redabadache3 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 18/10/2008, 13h15
  4. Problème avec le prix que je dois appliquer
    Par paradeofphp dans le forum Langage
    Réponses: 3
    Dernier message: 13/12/2006, 11h42
  5. Réponses: 4
    Dernier message: 07/07/2006, 15h44

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