Je me prends la tête et me mélange les pinceaux entre le php et le sql pour mettre en place une requête.
je cherche à exploiter une valeur de ma table sous certaines conditions pour faire afficher le résultat.
Selection de base:
Code : Tout sélectionner
select nom, date_debut, date_fin from ma_table order by nom
Dans ma table, certains noms ont une date de debut et de fin (ex: 2017-09-10 et 2017-09-15),
et d'autre n'ont pas de date de début et de fin (0000-00-00 valeur par défaut pour date de début et de fin).
condition à intégrer:
- si date_debut et date_fin = 0000-00-00, on affiche
- si date_debut supérieur a date aujourd'hui, on affiche uniquement les noms avec la date de début et fin = 0000-00-00
- si date_debut inférieur à date aujourd'hui et date_fin supérieur à date aujourd'hui, on affiche les noms qui ont la date de début et de fin = 0000-00-00 et on affiche également les noms qui sont compris dans le créneau des dates.
Test de formule en cours sur la date de début
avec un if :
Code : Tout sélectionner
select nom, IF(date_debut !=0000-00-00, 'date_debut < date('Y-m-d')', 'date_debut =0000-00-00') , date_fin from ma_table where order by nom
avec un case :
Code : Tout sélectionner
select nom, date_debut, date_fin,
CASE
WHEN date_debut = 0000-00-00
WHEN date_debut < date('Y-m-d')
WHEN date_fin > date('Y-m-d')
END
from ma_table order by nom
Vous vous doutez qu'aucune des deux formules ne fonctionnent.
J'en appelle à vos compétences et votre savoir faire pour m'orienter.
Merci à tous.
Hugo_064