Condition PHP avec requète SQL

Résolu
LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   -  
LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   -

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. jee pee Messages postés 31943 Date d'inscription   Statut Modérateur Dernière intervention   10 001
     

    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";

    1
  2. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     

    Bonjour, super sympa je vous remercie cela est parfait.

    Cordialement.

    0