Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de 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 20/02/2006, 00h43   #1
Membre à l'essai
 
Inscription : septembre 2003
Messages : 79
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 79
Points : 24
Points : 24
Par défaut Pb Insertion dans ma table couple

Bonsoir,

Je vous expose mon problème:

j'ai 3 tables:

- client (cliID, nom, prenom, ville, telephone)
- achat (cliID, id_voiture)
- voitures(id_voiture, marque, type, immatriculation, km, prix vente)

je souhaiterais récupérer les IDs de ma table client et voitures pour les insérer dans ma table achat, lorsque je saisis un nouvel achat.

voici mon code:

<?php
$requete = "insert into client(cliID, cliNom, cliPrenom, cliDatenaissance, cliVille, cliTel) values ('', '".$nom."', '".$prenom."', '".$date."', '".$ville."', '".$tel."')";

$requete2 = "insert into voiture(id_voiture, marque, type, immatriculation, km, prix_de_vente)
values ('', '".$marque."', '".$type."','".$immatriculation."','".$km."', '".$prix_de_vente."')";

$cliID = mysql_insert_id();
$id_voiture = mysql_insert_id();

$requete3 = "insert into achat(cliID,id_voiture) values('', '')";

mysql_query($requete);
mysql_query($requete2);
mysql_query($requete3);
?>


Mes 2 premieres requetes fonctionnent bien, mais la 3eme refuse de m'insérer les IDs des deux tables
la valeur retournée est 0


Merci à tous.
lolodelp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 01h31   #2
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 195
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 195
Points : 4 717
Points : 4 717


Essaye plutôt ça:

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
<?php
 
$requete = "insert into client(cliNom, cliPrenom, cliDatenaissance, cliVille, cliTel) values ('".$nom."', '".$prenom."', '".$date."', '".$ville."', '".$tel."')";
 
mysql_query($requete) OR die ( mysql_error() ) ;
$cliID = mysql_insert_id();
 
 
 
 
 
$requete2 = "insert into voiture(marque, type, immatriculation, km, prix_de_vente)
values ('".$marque."', '".$type."','".$immatriculation."','".$km."', '".$prix_de_vente."')";
 
mysql_query($requete2) OR die ( mysql_error() ) ;
$id_voiture = mysql_insert_id();
 
 
 
 
$requete3 = "insert into achat(cliID,id_voiture) values('" .$cliID. "', '" .$id_voiture. "')";
 
mysql_query($requete3) OR die ( mysql_error() ) ;
 
?>
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 07h37   #3
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
En complement, faites une récupération de l'ID de l'enregistrement du client ou de la voiture immédiatement après l'insertion dans la table.
En fait, dans votre code ci-dessus,
Code :
1
2
3
4
5
6
1-Vous inserez le client,
2-puis la voiture
3-Vous pensez récupérer l'ID du client, ce qui est faux ...
   Car là, vous récuperez l'ID de la voiture à la place
4-En suite, vous pensez également récupérer l'id de la voiture...
5-Enfin, vous voulez inserer l'achat, ce qui ne peut pas marcher à cause des intégrités référentielles.
Et voici le cheminement à suivre :
Code :
1
2
3
4
5
1-Vous inserez le client,
3-Vous  récupérez son ID 
2-Vous inserez la voiture,
4-Vous  récupérez son ID 
5-Enfin, vous inserez l'achat
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 19h24   #4
Membre à l'essai
 
Inscription : septembre 2003
Messages : 79
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 79
Points : 24
Points : 24
NICKEL CHROME !!!

merci de vos conseils
ca marche sans probleme


mercccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
lolodelp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 08h37   #5
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Pour la prochaine fois, pense aux tag [Résolu].
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent 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 +2. Il est actuellement 08h17.


 
 
 
 
Partenaires

Hébergement Web