Bonjour,

j'ai besoin de sélection toutes les periodes qui ont une péeriode en commun avec la période suivante :

date_deb et date_fin

Sachant que les dates saisies par l'internautes dont :

date1 pour la date de début et

date2 pour la date de fin

voilà ce que donne ma requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
	$sqla = sprintf("SELECT A.id_adh, A.id_vil, B.id_vil, B.id_pay, B.ville_fr, C.id_pay, C.id_con, C.pays_fr, D.cont_fr
			FROM flatforswap_adherent A
			INNER JOIN flatforswap_ville B ON A.id_vil = B.id_vil
			INNER JOIN flatforswap_pays C ON B.id_pay = C.id_pay 
			INNER JOIN flatforswap_continent D ON D.id_con = C.id_con
			INNER JOIN flatforswap_destination E
			WHERE (E.date_deb <= '".$date1."' and E.date_fin >= '".$date2."') 
			OR (E.date_deb >= '".$date1."' and E.date_fin >= '".$date2."')
			OR (E.date_deb <= '".$date1."' and E.date_fin <= '".$date2."')
			OR (E.date_deb >= '".$date1."' and E.date_fin <= '".$date2."')
			limit $start, $epp");}
Mon souci c'est que ça ne fonctionne pas. Ca me sélectionne des périodes qui ne devrait pas être séléctionnées...

Une chose important, Le format des dates est le suivant :

année-mois-jour soit par exemple

2010-06-01

Le problème vient peut-être du format. Qu'en pensez-vous ?