|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 2 ![]() |
Bonsoir,
Je voudrais envoyer la requête suivante en une seule fois: Code php :
$query = "SELECT * FROM t_membres, t_sponsors ORDER BY mem_date ASC, mem_heure ASC"; Le soucis c'est que le serveur m'affiche mes sponsors en 2 fois et que mes membres n'apparaissent pas. Quelqu'un saurait-il me corriger mon erreur ? Merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Ajoute une clause GROUP BY pour grouper les sponsors ensemble.
Je te déconseille l'usage de *, si tu as des champs qui portent les mêmes noms dans les deux tables (ça arrive) tu va avoir des erreurs. Tu réalise ta jointure avec un produit cartésien, il vaut mieux utiliser une jointure avec la clause JOIN et ON : Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 2 ![]() |
GROUP BY ne sert pas juste à calculer la somme de plusieurs chiffres ?
Sinon, je le fais à l'ancienne: 2 requêtes pour 2 résultats différents. Ca ne me parait pas très pro, Mais bon! à la guerre comme à la guerre. Pour mes champs, il n'y a pas de problème, je les différencie par un préfixe de trois lettre portant le nom de la table. Merci de ta part. |
|
|
00
|
|
|
#4 | ||||
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
ben c'est simple si tu met * et que le résultat provient de plusieurs tables le moteur ne sais pas quel champ de quelle table prendre (enfin c'est ce que j'ai remarqué avec mysql). pour ma part je spécifie à chaque de quelle table je veux le résultat comme cela plus d'ambiguïté.
donc pour moi ta requete serai: Code :
$query = "SELECT t_membres.*, t_sponsors.* FROM t_membres, t_sponsors ORDER BY t_membres.`mem_date` ASC, t_membres.`mem_heure` ASC" c'est lourd comme écriture mais si tu créer un builder c'est easy, tu te pose plus de question c'est toujours pareil enfin de mon point de vue exemple: Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com