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/12/2010, 12h29   #1
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
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
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 12h34   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
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
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/12/2010, 12h45   #3
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
tout ça dans la même form? si oui comment procéder?

please
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 13h14   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
as tu déjà fait un script pour cela et si oui peux tu nous l'afficher ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 13h17   #5
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
Ok donnez moi une minute
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 13h27   #6
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
Code :
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 :
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 :
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 :
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 :
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!!
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 13h38   #7
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Code php :
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();
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 14h05   #8
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
je vais tester ce soir ... merci du fond du cœur!!

A ce soir
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h24   #9
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
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
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h34   #10
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Code php :
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 :
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();
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h40   #11
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
testing merci ....


please ne m'oubliez pas ...
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h47   #12
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
new code .... mais ça marche pas encore

Code :
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()
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h50   #13
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
quel est ton message d'erreur ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 15h53   #14
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
le même ...


Parse error: parse error in l:\web project\traficoperat\sadmin\acces\enr.php on line 24
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 16h02   #15
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
avec des quotes autour des clés de ton tableau $_POST

:

Code php :
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()
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 16h16   #16
Invité de passage
 
Reda El Yakhlifi
Inscription : novembre 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : Reda El Yakhlifi

Informations forums :
Inscription : novembre 2010
Messages : 19
Points : 1
Points : 1
$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!
elyakhlifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h56.


 
 
 
 
Partenaires

Hébergement Web