ça fait pas mal de temps que je n'ai plus mis la tête dans les requêtes SQL, et il s'avère qu'une requête me pose quelques problèmes. En effet, je fais une requête sur plusieurs champs, dont certains peuvent être vide dans un premier temps, si ces champs sont vides ma requête ne me retourne rien du tout.
Par exemple, je fais la liste d'un certains nombre de date à laquelle les membres diront si ils y participent, qu'ils y seront peut être, ou pas du tout. Mais dans le cas où la personne n'a pas encore répondu, il n'y a rien a récupéré dans la table caps_presence, mais les dates elles devraient quand même s'affiche mais ça ne fonctionne pas.
Je vous donne la requête qui me pose problème :
SELECT calendrier_id, DATE_FORMAT(calendrier_date,'%d-%m-%Y') AS date, calendrier_type, calendrier_libelle, calendrier_lieu, presence_membre, presence_calendrier, presence_statut
FROM `caps_calendrier` c, `caps_presence` p, `caps_membre` m
WHERE c.calendrier_id = p.presence_calendrier
AND m.membre_id = p.presence_membre
AND m.membre_id = '1'
AND calendrier_date >= '2011-03-20'
ORDER BY `calendrier_date` ASC
Je ne sais pas si j'ai été assez clair, mais si besoin, je suis disponible à vous éclaircir comme je le pourrais.
Merci pour votre future aide.
Pour ceux que ça peut éventuellement intéressé, j'ai mis la requête qui fonctionne ci-dessous.
SELECT calendrier_id, DATE_FORMAT(calendrier_date,'%d-%m-%Y') AS date, calendrier_type, calendrier_libelle, calendrier_lieu, presence_membre, presence_calendrier, presence_statut
FROM caps_calendrier
LEFT JOIN caps_presence ON calendrier_id = presence_calendrier
LEFT JOIN caps_membre ON membre_id = presence_membre
WHERE calendrier_date >= '".$today."'
ORDER BY `calendrier_date` ASC
Bonne nuit.
Florian
Finalement c'est pas résolu car quand j'ajoute l'id du membre ça ne fonctionne plus. Les membres ayant mis leur présence auront pas de problème alors que ceux qui n'auront encire rien fait ne verront rien à l'écran..
SELECT calendrier_id, DATE_FORMAT(calendrier_date,'%d-%m-%Y') AS date, calendrier_type, calendrier_libelle, calendrier_lieu, presence_membre, presence_calendrier, presence_statut
FROM caps_calendrier
LEFT JOIN caps_presence ON calendrier_id = presence_calendrier
LEFT JOIN caps_membre ON membre_id = presence_membre
WHERE calendrier_date >= '".$today."'
AND membre_id = '".$_SESSION['id']."'
ORDER BY `calendrier_date` ASC
Je ne vois pas comment faire..
Merci pour votre aide.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !