Table expeditions :
--------------------
id - date - id_stock - code - quantite - expediteur - destinataire - statut
Le champ qui lie ces 3 tables est le champ CODE.
Voici ma requête qui fonctionne en ne sélectionnant que 2 tables, mais il me
manque le SN :
SELECT * FROM expeditions,materiel where expeditions.code=materiel.code and
expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Le and expeditions.destinataire='$_SESSION[login]' and
expeditions.statut='1' est essentiel pour ce que je veux afficher.
J'ai donc essayé de sélectionner mes 3 tables :
SELECT * FROM expeditions,materiel,stock where
expeditions.code=materiel.code=stock.code and
expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Mevzek
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
SELECT * FROM expeditions,materiel where expeditions.code=materiel.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
La syntaxe standard serait plutot: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) WHERE expiditions.destinataire='$_SESSION[login]' and expeditions.statut=1;
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori vulnérable à une injection SQL)
Le and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1' est essentiel pour ce que je veux afficher.
J'ai donc essayé de sélectionner mes 3 tables : SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code=stock.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Idem, essayez plutot la syntaxe standard: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='$_SESSION[login]' AND expeditions.statut=1;
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
SELECT * FROM expeditions,materiel where expeditions.code=materiel.code
and expeditions.destinataire='$_SESSION[login]' and
expeditions.statut='1'
La syntaxe standard serait plutot:
SELECT * FROM expeditions INNER JOIN materiel ON
(expeditions.code=materiel.code) WHERE
expiditions.destinataire='$_SESSION[login]' and expeditions.statut=1;
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori
vulnérable à une injection SQL)
Le and expeditions.destinataire='$_SESSION[login]' and
expeditions.statut='1' est essentiel pour ce que je veux afficher.
J'ai donc essayé de sélectionner mes 3 tables : SELECT * FROM
expeditions,materiel,stock where
expeditions.code=materiel.code=stock.code and
expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Idem, essayez plutot la syntaxe standard:
SELECT * FROM expeditions
INNER JOIN materiel ON (expeditions.code=materiel.code)
INNER JOIN stock ON (expeditions.code=stock.code)
WHERE expeditions.destinataire='$_SESSION[login]' AND
expeditions.statut=1;
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
SELECT * FROM expeditions,materiel where expeditions.code=materiel.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
La syntaxe standard serait plutot: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) WHERE expiditions.destinataire='$_SESSION[login]' and expeditions.statut=1;
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori vulnérable à une injection SQL)
Le and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1' est essentiel pour ce que je veux afficher.
J'ai donc essayé de sélectionner mes 3 tables : SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code=stock.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Idem, essayez plutot la syntaxe standard: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='$_SESSION[login]' AND expeditions.statut=1;
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Nicolas
"Patrick Mevzek" a écrit dans le message de news:
Idem, essayez plutot la syntaxe standard: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='$_SESSION[login]' AND expeditions.statut=1;
Merci beaucoup Patrick pour votre aide, je vais essayer cette après-midi.
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori vulnérable à une injection SQL)
Je pense que c'est bon, j'attribue moi-même $_SESSION[login] uniquement quand la personne est identifiée, il ne provient pas d'un $_POST.
Merci, bon WE Nicolas
"Patrick Mevzek" <pm-N200501@nospam.dotandco.com> a écrit dans le message de
news: pan.2005.01.09.03.51.09.313635.26371@nospam.dotandco.com...
Idem, essayez plutot la syntaxe standard:
SELECT * FROM expeditions
INNER JOIN materiel ON (expeditions.code=materiel.code)
INNER JOIN stock ON (expeditions.code=stock.code)
WHERE expeditions.destinataire='$_SESSION[login]' AND
expeditions.statut=1;
Merci beaucoup Patrick pour votre aide, je vais essayer cette après-midi.
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori
vulnérable à une injection SQL)
Je pense que c'est bon, j'attribue moi-même $_SESSION[login] uniquement
quand la personne est identifiée, il ne provient pas d'un $_POST.
Idem, essayez plutot la syntaxe standard: SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='$_SESSION[login]' AND expeditions.statut=1;
Merci beaucoup Patrick pour votre aide, je vais essayer cette après-midi.
(enfin faudra corriger le $_SESSION[login] sinon vous êtes a priori vulnérable à une injection SQL)
Je pense que c'est bon, j'attribue moi-même $_SESSION[login] uniquement quand la personne est identifiée, il ne provient pas d'un $_POST.
Merci, bon WE Nicolas
Nicolas
"Patrick Mevzek" a écrit dans le message de news:
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
Je viens d'essayer :
SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='houilles' AND expeditions.statut='1'
Le probleme est qu'un champ STATUT est aussi présent dans la table stock et même en faisant Where expeditions.statut='1' il me prend aussi le champ stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Comment faire sans renommer celui de stock ?
Merci d'avance Nicolas
"Patrick Mevzek" <pm-N200501@nospam.dotandco.com> a écrit dans le message de
news: pan.2005.01.09.03.51.09.313635.26371@nospam.dotandco.com...
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
Je viens d'essayer :
SELECT * FROM expeditions
INNER JOIN materiel ON (expeditions.code=materiel.code)
INNER JOIN stock ON (expeditions.code=stock.code)
WHERE expeditions.destinataire='houilles' AND expeditions.statut='1'
Le probleme est qu'un champ STATUT est aussi présent dans la table stock et
même en faisant Where expeditions.statut='1' il me prend aussi le champ
stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Le Sat, 08 Jan 2005 22:49:32 +0100, Nicolas a écrit :
Je viens d'essayer :
SELECT * FROM expeditions INNER JOIN materiel ON (expeditions.code=materiel.code) INNER JOIN stock ON (expeditions.code=stock.code) WHERE expeditions.destinataire='houilles' AND expeditions.statut='1'
Le probleme est qu'un champ STATUT est aussi présent dans la table stock et même en faisant Where expeditions.statut='1' il me prend aussi le champ stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Comment faire sans renommer celui de stock ?
Merci d'avance Nicolas
Nicolas
"Nicolas" a écrit dans le message de news: 41e51528$0$29905$
Le probleme est qu'un champ STATUT est aussi présent dans la table stock
et
même en faisant Where expeditions.statut='1' il me prend aussi le champ stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Bon en fait ça ne vient pas de ce champ que je viens de renommer , j'ai toujours le probleme.
Bref dès que je sélectionne 3 tables il m'affiche n'importe quoi , une petite idée ?
merci !
"Nicolas" <nicolas@nospam.fr> a écrit dans le message de news:
41e51528$0$29905$636a15ce@news.free.fr...
Le probleme est qu'un champ STATUT est aussi présent dans la table stock
et
même en faisant Where expeditions.statut='1' il me prend aussi le champ
stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Bon en fait ça ne vient pas de ce champ que je viens de renommer , j'ai
toujours le probleme.
Bref dès que je sélectionne 3 tables il m'affiche n'importe quoi , une
petite idée ?
"Nicolas" a écrit dans le message de news: 41e51528$0$29905$
Le probleme est qu'un champ STATUT est aussi présent dans la table stock
et
même en faisant Where expeditions.statut='1' il me prend aussi le champ stock.statut d'apres le resultat que j'ai dans phpmyadmin.
Bon en fait ça ne vient pas de ce champ que je viens de renommer , j'ai toujours le probleme.
Bref dès que je sélectionne 3 tables il m'affiche n'importe quoi , une petite idée ?
merci !
Jacques Caron
Salut,
On Sat, 8 Jan 2005 22:49:32 +0100, Nicolas wrote:
J'ai donc essayé de sélectionner mes 3 tables : SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code=stock.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut pas dire du tout ce que vous pensez. Il faut écrire expeditions.code=materiel.code and materiel.code=stock.code (par exemple) ou utiliser deux join on sur ces clauses.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Salut,
On Sat, 8 Jan 2005 22:49:32 +0100, Nicolas <nicolas@nospam.fr> wrote:
J'ai donc essayé de sélectionner mes 3 tables :
SELECT * FROM expeditions,materiel,stock where
expeditions.code=materiel.code=stock.code and
expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut
pas dire du tout ce que vous pensez. Il faut écrire
expeditions.code=materiel.code and materiel.code=stock.code (par exemple)
ou utiliser deux join on sur ces clauses.
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
J'ai donc essayé de sélectionner mes 3 tables : SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code=stock.code and expeditions.destinataire='$_SESSION[login]' and expeditions.statut='1'
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut pas dire du tout ce que vous pensez. Il faut écrire expeditions.code=materiel.code and materiel.code=stock.code (par exemple) ou utiliser deux join on sur ces clauses.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Nicolas
ça ne fonctionne toujours pas , je ne sais pas pourquoi il me sélectionne bien ce qu'il faut mais me les répètes plusieurs fois :-(
"Jacques Caron" a écrit dans le message de news:
Salut,
SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code and materiel.code=stock.code and expeditions.destinataire='houilles' and expeditions.statut='1'
ça ne fonctionne toujours pas , je ne sais pas pourquoi il me sélectionne
bien ce qu'il faut mais me les répètes plusieurs fois :-(
"Jacques Caron" <jc@imfeurope.com> a écrit dans le message de news:
opskh3apxezscttn@news.free.fr...
Salut,
SELECT * FROM expeditions,materiel,stock where
expeditions.code=materiel.code and materiel.code=stock.code and
expeditions.destinataire='houilles' and expeditions.statut='1'
ça ne fonctionne toujours pas , je ne sais pas pourquoi il me sélectionne bien ce qu'il faut mais me les répètes plusieurs fois :-(
"Jacques Caron" a écrit dans le message de news:
Salut,
SELECT * FROM expeditions,materiel,stock where expeditions.code=materiel.code and materiel.code=stock.code and expeditions.destinataire='houilles' and expeditions.statut='1'
Nicolas
"Nicolas" a écrit dans le message de news: 41e05571$0$10274$
Bonsoir,
J'ai un probleme de select sur 3 tables différentes, en fait je désire suivre des expéditions et souhaite faire ressortir dans un tableau ceci :
Désolé pour le bruit, c'etait un probleme de tables à mon niveau, tout n'était pas bien enregistré :-/
merci à tous Nicolas
"Nicolas" <nicolas@nospam.fr> a écrit dans le message de news:
41e05571$0$10274$626a14ce@news.free.fr...
Bonsoir,
J'ai un probleme de select sur 3 tables différentes, en fait je désire
suivre des expéditions et souhaite faire ressortir dans un tableau ceci :
Désolé pour le bruit, c'etait un probleme de tables à mon niveau, tout
n'était pas bien enregistré :-/
"Nicolas" a écrit dans le message de news: 41e05571$0$10274$
Bonsoir,
J'ai un probleme de select sur 3 tables différentes, en fait je désire suivre des expéditions et souhaite faire ressortir dans un tableau ceci :
Désolé pour le bruit, c'etait un probleme de tables à mon niveau, tout n'était pas bien enregistré :-/
merci à tous Nicolas
Nicolas
"Jacques Caron" a écrit dans le message de news:
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut pas dire du tout ce que vous pensez. Il faut écrire expeditions.code=materiel.code and materiel.code=stock.code (par exemple) ou utiliser deux join on sur ces clauses.
Excusez-moi pour le bruit, la requête est bonne, c'était un problème dans les jointures, je n'avais pas choisi le bon champ pour les faire.
Alors maintenant ma question va être, comment lier la table expedition avec materiel par le champ id_stock et stock avec materiel par le champ CODE ? (je connais pas la syntaxe à taper) mais sans JOIN, je prefere genre WHERE expeditions.code = materiel.code.
"Jacques Caron" <jc@imfeurope.com> a écrit dans le message de news:
opskh3apxezscttn@news.free.fr...
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut
pas dire du tout ce que vous pensez. Il faut écrire
expeditions.code=materiel.code and materiel.code=stock.code (par exemple)
ou utiliser deux join on sur ces clauses.
Excusez-moi pour le bruit, la requête est bonne, c'était un problème dans
les jointures, je n'avais pas choisi le bon champ pour les faire.
Alors maintenant ma question va être, comment lier la table expedition avec
materiel par le champ id_stock et stock avec materiel par le champ CODE ?
(je connais pas la syntaxe à taper) mais sans JOIN, je prefere genre WHERE
expeditions.code = materiel.code.
Le problème c'est "expeditions.code=materiel.code=stock.code". Ca ne veut pas dire du tout ce que vous pensez. Il faut écrire expeditions.code=materiel.code and materiel.code=stock.code (par exemple) ou utiliser deux join on sur ces clauses.
Excusez-moi pour le bruit, la requête est bonne, c'était un problème dans les jointures, je n'avais pas choisi le bon champ pour les faire.
Alors maintenant ma question va être, comment lier la table expedition avec materiel par le champ id_stock et stock avec materiel par le champ CODE ? (je connais pas la syntaxe à taper) mais sans JOIN, je prefere genre WHERE expeditions.code = materiel.code.