Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1785 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Probleme de clé unique, relier des tables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de clé unique, relier des tables

n°1226100
karinou
Posté le 19-10-2005 à 12:40:08  profilanswer
 

Bonjour,  
 
tout d'abord, désolée pour la clarté du sujet de mon topic, mais je n'ai pas trouvé mieux pour décrire mon probleme,  Gomen!
 
Voila mon probleme,  
 
je suis en train de faire un site en php/mysql  pour gérer des commandes de fournitures, j'ai donc dans ma base une table commande rassemblant tous les éléments généraux d'une commande (auteur, date, etat, ...) et dans une table Article j'ai la decription des articles (prix, designation, quantite, ...)  
Je souhaite que des qu'une personne fait une commande, une occurence soit ajoutée à la table Commande et que chaque article soit ajouté dans la table Article. Il peut y avoir plusieurs articles dans une commande, et un article n'est affecté qu'à une seule commande (il n'existe pas de liste d'articles, les personnes peuvent mettre ce qu'ils veulent)
Je ne sais donc pas comment relier mes articles à une commande.  
J'ai mis dans la table Article un idCommande avec l'identifiant unique de la commande.
Mais le probleme est que cet idCommande est incrémenté automatiquement donc je ne le connais pas quand j'ajoute mes données dans la table.
 
Je ne sais pas si mon probleme est tres clair,  
 
Au cas ou ca pourrait aider certains voici le code actuel et mon probleme :  

Code :
  1. mysql_query("INSERT INTO fournitures (idFour, serviceFour, preneurFour, etatFour, dateFour, typeFour, jourFour, moisFour, anneeFour) VALUES ('','$service', '$preneur', 'nv', '$maintenant', 'f', '$jour', '$mois', '$annee');" );
  2.   for ($i=1 ; $i<=15 ; $i++){
  3.    if (!isEmpty(trim($_POST['article'.$i])) or !isEmpty(trim($_POST['quantite'.$i])) or !isEmpty(trim($_POST['prix'.$i])) or !isEmpty(trim($_POST['total'.$i]))){
  4.      $article = trim($_POST['article'.$i]);
  5.      $quantite = trim($_POST['quantite'.$i]);
  6.      $prix = trim($_POST['prix'.$i]);
  7.      $total = trim($_POST['total'.$i]);
  8.      mysql_query ("INSERT INTO fournituresArticle (idArticle, idFour, article, quantite, prix, total) VALUES ('', 'MonProbleme', '$article', '$quantite', '$prix', '$total')" );
  9.     }
  10.   }


 
J'espere que quelqu'un pourra trouver une solution à mon probleme
Merci par avance,  
 
Karine

mood
Publicité
Posté le 19-10-2005 à 12:40:08  profilanswer
 

n°1226114
tet2neu
emmerdeur
Posté le 19-10-2005 à 12:55:33  profilanswer
 

Bah tu mets une troisième table entre Commande et Article qui contiendra, pour chaque arcticle cencerné par une commande, un enregistrement de l'id de la commande et l'id de l'article [:dawa]


Message édité par tet2neu le 19-10-2005 à 12:55:54
n°1226136
karinou
Posté le 19-10-2005 à 13:32:39  profilanswer
 

bah c'est pas ca mon probleme
Enfait, mon probleme est de récupérer l'idCommande.
Parce que meme avec ta solution, comment je recupere l'idCommande et l'idArticle????

n°1226141
tet2neu
emmerdeur
Posté le 19-10-2005 à 13:37:06  profilanswer
 

J'avais pas bien lu.
 
Je vois pas bien le problème. Une commande est créée ==> tu connais son ID puisque tu viens de la créer.
Ensuite les articles sont créés et tu les enregistres avec l'ID de la commande
 
 [:payzan]

n°1226143
sircam
I Like Trains
Posté le 19-10-2005 à 13:38:01  profilanswer
 

Citation :

des qu'une personne fait une commande, une occurence soit ajoutée à la table Commande et que chaque article soit ajouté dans la table Article


 
Heck ? :heink:
 

Citation :

il n'existe pas de liste d'articles, les personnes peuvent mettre ce qu'ils veulent


Très curieux, mais dans ce cas, pas de table d'articles alors. L'article devient un attribut d'une ligne de commande et se confond avec elle.
 
[:pingouino]
 

Citation :

dans une table Article j'ai la decription des articles


Donc tu as une table article, mais les gens tapent n'importe quoi comme article ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226152
karinou
Posté le 19-10-2005 à 13:44:05  profilanswer
 

Le probleme n'est pas la!!!
 
J'ai une table article qui se remplie avec ce que veulent les gens. je veux relier une table dont UNE occurence correspond à UNE ligne de ma commande, mon probleme est la! Comment je dois faire ca???

n°1226155
tet2neu
emmerdeur
Posté le 19-10-2005 à 13:44:44  profilanswer
 

Je ne vois pas bien l'intéret de tout ça [:payzan]

n°1226156
tet2neu
emmerdeur
Posté le 19-10-2005 à 13:45:51  profilanswer
 

Si tu expliquais dans quel ordre les choses se passent concrètement parce que là on parle un peu dans le vent


Message édité par tet2neu le 19-10-2005 à 13:46:05
n°1226158
karinou
Posté le 19-10-2005 à 13:47:18  profilanswer
 

reponse a ton premier message tet2neu : mon probleme est justement que je ne sais pas comment récupere l'id de ma commande vu que l'idCommande est auto-increment donc il se definie dans la base, comment le recuperer???

n°1226165
tet2neu
emmerdeur
Posté le 19-10-2005 à 13:49:38  profilanswer
 

Soit en récuprérant le plus grand avec un order by idcommande DESC LIMIT 1 (un truc dans le genre)
Soit avec la fonction mysql_insert_id() il me semble

mood
Publicité
Posté le 19-10-2005 à 13:49:38  profilanswer
 

n°1226167
karinou
Posté le 19-10-2005 à 13:50:22  profilanswer
 

j'ai un formulaire de commande!!
 
avec plusieurs lignes donc quand la personne valide, je veux q'une occurence se crée dans ma table commande avec pour idCommande un chiffre incrémenté automatiquement en fonction des anciennes commandes et que dans ma table Article, il se crée une occurence par ligne remplie avec pour chaque ligne l'id de ma commande..
cf. déroulement de mon code plus haut
Donc mon probleme est comment récuperer mon id commande pour faire mon insert into dans ma table Article ?
 Est -ce plus clair???

n°1226170
tet2neu
emmerdeur
Posté le 19-10-2005 à 13:53:04  profilanswer
 

voir ma réponse au dessus

n°1226242
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-10-2005 à 14:39:54  profilanswer
 

d'accord++ avec la tête de noeud :D


Message édité par Arjuna le 19-10-2005 à 14:40:07
n°1226250
sircam
I Like Trains
Posté le 19-10-2005 à 14:46:27  profilanswer
 

Citation :

Soit en récuprérant le plus grand avec un order by idcommande DESC LIMIT 1


Ca va pas, non ?
 

Citation :

d'accord++ avec la tête de noeud


Idem.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226255
tet2neu
emmerdeur
Posté le 19-10-2005 à 14:47:30  profilanswer
 

sircam a écrit :

Citation :

Soit en récuprérant le plus grand avec un order by idcommande DESC LIMIT 1


Ca va pas, non ?


'tain enfin un qui réagi :D

n°1226260
sircam
I Like Trains
Posté le 19-10-2005 à 14:49:06  profilanswer
 

tet2neu a écrit :

'tain enfin un qui réagi :D


:sweat:
 
Qu'Arjuna ne t'ait pas filé un coup de pelle à clous, ça m'étonne.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226262
tet2neu
emmerdeur
Posté le 19-10-2005 à 14:49:46  profilanswer
 

Oui c'est assez étonant. Il a dû lire trop rapidement [:jkley]

n°1226277
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-10-2005 à 15:05:28  profilanswer
 

je lis toujours les posts en partant du bas : c'est généralement là qu'on trouve la vrai question ou la réponse. le reste c'est généralement du blablatage, donc je ne le lis qu'à la fin si le reste n'est pas clair :D
 
et du coup si on dit une méga connerie avant un truc intelligent, ben je le vois pas :D
 
tet2neu, au bucher :o ;)

n°1226290
tet2neu
emmerdeur
Posté le 19-10-2005 à 15:15:01  profilanswer
 

je vais me pendre plutot

n°1226292
sircam
I Like Trains
Posté le 19-10-2005 à 15:16:53  profilanswer
 

tet2neu a écrit :

je vais me pendre plutot


Mais d'abord, la pelle à clous et un [:lorilll]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226293
tet2neu
emmerdeur
Posté le 19-10-2005 à 15:17:42  profilanswer
 

alors on peut plus déconner sur prog ? [:zytrasnif]

n°1226298
sircam
I Like Trains
Posté le 19-10-2005 à 15:22:05  profilanswer
 

tet2neu a écrit :

alors on peut plus déconner sur prog ? [:zytrasnif]


Y'a les cat PHP et HTML pour ça. Ou ADA.   [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226307
tet2neu
emmerdeur
Posté le 19-10-2005 à 15:26:03  profilanswer
 

[:thalis]

n°1226313
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-10-2005 à 15:30:05  profilanswer
 

c'est moi qu'avait demandé à Joce de créer la cat ADA :D
 
elle a beaucoup de succès :D

n°1226317
tet2neu
emmerdeur
Posté le 19-10-2005 à 15:30:36  profilanswer
 

tu t'attendais à quoi ? :D

n°1226333
sircam
I Like Trains
Posté le 19-10-2005 à 15:46:07  profilanswer
 

La cat ADA, c'est très bien pour les annifs, les trolls, et tous les délires qui ne trouvent pas leur place sur PHP ou HTML. [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1226337
tet2neu
emmerdeur
Posté le 19-10-2005 à 15:48:28  profilanswer
 

les églises, les cathédrales toussa :o

n°1226387
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-10-2005 à 16:33:31  profilanswer
 

Ben au moins, mon j'ai une cat "à moi", et pas vous :p
 
(bon, après, vous me la pourrissez mais bon... ;))

n°1226811
karinou
Posté le 20-10-2005 à 09:15:56  profilanswer
 

Je suis désolée mais je n'ai toujours pas compris ce que je dois faire  
Ca vous derangerez de repondre à ma question??
 
Les newbies sont-ils excluent de ce forum??

n°1226814
sircam
I Like Trains
Posté le 20-10-2005 à 09:20:28  profilanswer
 

karinou a écrit :

Je suis désolée mais je n'ai toujours pas compris ce que je dois faire  
Ca vous derangerez de repondre à ma question??


Tet2Neu a déjà répondu à ta question, non ? Qu'est-ce que tu n'as pas compris ?  [:pingouino]  
 

karinou a écrit :

Les newbies sont-ils excluent de ce forum??


exclus  [:moundir]
 
 
Non, pas du tout. Toi aussi, tu peux ouvrir un topic sur une église ou une cathédrale, un topic nannif, faire des flood de pingouino ou de chat DJ, te faire TT et toussa (cat ADA). Pour les trolls et pour taper sur les boulets, PHP ou HTML. Pelle à clous disponible sur demande.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1227043
tet2neu
emmerdeur
Posté le 20-10-2005 à 13:15:14  profilanswer
 

karinou a écrit :

Je suis désolée mais je n'ai toujours pas compris ce que je dois faire  
Ca vous derangerez de repondre à ma question??


 :heink:  
Apprends à lire avant de réagir comme ça.
J'ai donné plus haut le nom de la fonction à utiliser pour récupérer l'ID de la dernière commande :o

n°1227092
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-10-2005 à 14:14:31  profilanswer
 

je dirais même + : juste après avoir dit une grosse connerie :D
 
faut pas être éxigeant comme ça, et formuler correctement ses questions en plus de lire. sinon on ne risque pas de continuer à t'aider... :spamafote:

n°1227097
tet2neu
emmerdeur
Posté le 20-10-2005 à 14:21:13  profilanswer
 

Arjuna a écrit :

je dirais même + : juste après avoir dit une grosse connerie :D


[:dracula]

n°1227112
sircam
I Like Trains
Posté le 20-10-2005 à 14:36:51  profilanswer
 

Arjuna a écrit :

faut pas être éxigeant comme ça, et formuler correctement ses questions en plus de lire. sinon on ne risque pas de continuer à t'aider... :spamafote:


Et si en plus on fait une grosse faute de conjugaison en étant exigeant, ça passe encore moins.   [:pingouino]
 
On va encore nous accuser de mauvaise ambiance, et toussa. [:airforceone]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1227123
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-10-2005 à 14:48:55  profilanswer
 

ben ouais quoi :o
 
(m'enfin moi je dis rien pour la notografe, parceque j'ai toujours plein de mal beaucoup... mon clavier déconne, certes, mais parfois il a bon dos :D)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Probleme de clé unique, relier des tables

 

Sujets relatifs
Problème avec renvoi de la valeur.probleme de verification de poid d'un fichier en php
Problème de mémoire entre hébergementrelier Excel et PostgreSQL
Probleme de <Input> avec du JAVAProblème de suppression de données
[RESOLU] [FORMULAIRE] probleme de récup des donnéesProblème d'insertion
Problème avec déclaration des variables.Problème avec switch - case.
Plus de sujets relatifs à : Probleme de clé unique, relier des tables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR