|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Bonjour à tous!
J'ai besoin d'aide pour ma requête qui nécessite une jointure, bien après avoir visité le forum, je me suis rendu compte que certains utilisent INNER JOIN et bien d'autres encore, seulement je ne comprends pas pourquoi cette méthode est plus efficace qu'un simple WHERE. Je vous propose de jeter un œil à ma requête: Code sql :
Il m'affiche comme message d'erreur qui est le suivant: "Column 'Idchaufgesco' in field list is ambiguous" Quel est le problème précisément? Es-ce que quelqu'un peut m'aider s'il vous plaît? Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||||||
![]() ![]() |
Citation:
Sur le plan des performances, c'est en principe équivalent à la vielle syntaxe mais la lecture des requêtes est beaucoup plus claire avec la nouvelle et ça évite les bugs du genre oubli d'une condition de jointure ou d'une instance de table. Bref, oublie la vielle syntaxe obsolète ! Citation:
En plus de JOIN, une autre bonne pratique est d'utiliser des alias dès qu'une requête utilise plus d'une table. En plus, LIKE une valeur sans caractère générique est équivalent à = alors autant utiliser = ! Tant qu'on y est sur les bonnes pratiques, aération du code et indentation facilitent encore plus la lecture donc l'éventuel déduggage. Ta requête modernisée devient celle-ci : Code sql :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Merci pour ta réponse CinePhil et merci pour tes conseils qui me permettront d'améliorer ma façon de rédiger mes requêtes!
J'ai bien compris le message d'erreur et c'est réglé! Cependant je reste bloqué parce qu'il n'y a aucune donnée qui apparaît dans mon tableau en PHP. J'ai essayé avec d'autres requêtes et mon tableau fonctionne. J'ai par la même occasion essayé avec le SGBD Access ma requête et ça fonctionne parfaitement. Il m'affiche les bonnes données. Sauf la requête que tu m'as corrigé, ça ne passe pas. (Il affiche "erreur de syntaxe opérateur absent dans l'expression: 'c.Idchaufgesco = r.Idchaufgesco INNER JOIN t_societe s ON r.IdSoc = s.IdSoc INNER JOIN t_op o ON s.IdOp=o.IdOp) Tou cela porte à confusion, je ne comprends plus rien. :s Je ne comprends pas pourquoi il n'y a aucune info dans mon tableau alors! Es-ce le fait que j'utilise du PHP qui bouscule tout?! Merci de me répondre. |
|
|
00
|
|
|
#4 | |||
![]() ![]() |
Citation:
Citation:
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Bonjour et merci pour l'aide CinePhil!
Donc! Je vous explique! L'intérêt de mon code et de faire apparaître à l'utilisateur deux listes déroulantes dépendantes et ensuite un tableau qui listent diverses informations: c'est à dire que, Dans la première liste déroulante s'affiche les trois sociétés avec qui nous sommes en partenariat ensuite dans la deuxième liste apparaît tous les employés appartenant à une des sociétés sélectionné dans la première liste déroulante. L'utilisateur valide ses sélections par le biais d'un bouton et à ce moment là va s'afficher un tableau qui listent les informations de la requête avec laquelle j'ai un souci en ce moment. J'espère avoir bien expliqué le contexte dans lequel se situe mon problème. Merci par avance à tous ceux qui voudront bien me donner un p'tit coup de pouce! Code :
|
||
|
|
00
|
|
|
#6 | ||||||||
|
Expert Confirmé
![]() ![]() |
Bonjour,
allez je me lance, j'ai essayé de comprendre où tu voulais en venir. Tu dois mieux décomposer en étapes simple la complexité de ce que tu souhaites faire. Ensuite, je pense qu'il faudrait mieux te documenter sur le PHP et le HTML parce que tu vas vite te noyer. Je te propose 4 fichiers qui décomposent ta vue en blocs gérables : form.php Code :
Code :
Code :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||||||||
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Bonjour et merci pour ta réponse qui m'a beaucoup aidé à avancé rawsrc!
Mais! Il reste un dernier souci!!! Mon tableau s'affiche et dans la colonne où je dois voir s'afficher les avances il y a un message d'erreur: Notice: Undefined index: in C:\wamp\www\AppliCaisse\table_activites.php on line 52 Code :
Merci pour ton aide rawsrc! |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() |
Parce que je ne savais pas quel code mettre. Je ne l'ai pas trouvé dans la requête SQL. Tu mets ce dont tu as besoin.
Content que tu t'en sois sorti. Bon courage pour la suite.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
Copyright © 2000-2012 - www.developpez.com