Condition PHP avec requète SQL

Résolu

Bonjour, j'ai une requète SQL qui me retourne les dates entre le 1 Aout de l'année orécedente au 31 Juillet de l'année courante et l'autre requète qui me retourne les dates entre le 1 Aout de l'année courante au 31 Juillet de l'année suivante.

Je souhaiterai faire une condition afin d'inclure ses deux requêtes ensemble? cela me permettrai d'avoir un calendrier du 1 Aout au 31 Juillet peu importe la date courante.

Je vous remercie pour votre aide.

	$sql = "SELECT idcalen, dacalen, DATE_FORMAT(dacalen, '%b %Y') AS moisAN
			FROM bag_calendrier
			WHERE bag_calendrier.dacalen BETWEEN CONCAT(YEAR(CURRENT_DATE) -1, '-08-01')
				AND CONCAT(YEAR(CURRENT_DATE), '-07-31') ORDER BY dacalen ASC";


	$sql = "SELECT idcalen, dacalen, DATE_FORMAT(dacalen, '%b %Y') AS moisAN
			FROM bag_calendrier
			WHERE bag_calendrier.dacalen BETWEEN CONCAT(YEAR(CURRENT_DATE), '-08-01')
				AND CONCAT(YEAR(CURRENT_DATE) + 1, '-07-31') ORDER BY dacalen ASC";

2 réponses

  1. Bonjour, super sympa je vous remercie cela est parfait.

    Cordialement.

    1. Modérateur

      Bonjour,

      Ce n'est probablement pas la manière la plus simple, mais lancé sur cette idée j'ai essayé de la finaliser. A tester. On utilise le mois courant pour savoir si on démarre en N (mois >=8) ou N-1 (mois <8), même raisonnement pour l'année de fin (N ou N+1)

      $sql = "SELECT idcalen, dacalen, DATE_FORMAT(dacalen, '%b %Y') AS moisAN
                  FROM bag_calendrier
                  WHERE bag_calendrier.dacalen BETWEEN CONCAT(YEAR(CURRENT_DATE) + FLOOR(MONTH(CURRENT_DATE) / 8) -1, '-08-01')
                      AND CONCAT(YEAR(CURRENT_DATE) + FLOOR(MONTH(CURRENT_DATE) / 8) , '-07-31') ORDER BY dacalen ASC";