par
Kran » 10 oct. 2009, 18:40
Si tes champs countenant $DateD et $DateF sont au stockés au format date dans ta base,
fais un "select count(*) as nb_overreservation from reservation where (champ_DateD between $DateD and $DateF) or (champ_DateF between $DateD and $DateF) "
si nb_overresarvation > 0 tu sauras que d'autres réservations chevauchent celle que tu essayes d'ajouter.
Sinon pour traiter les dates de tous formats plus ou moins étranges en php tu as :
Pour transformer une date au format plus ou moins chelou en timestamp :
int mktime ( int hour , int minute , int second , int month , int day , int year , int is_dst )
Pour les formats un peu mieux normalisés, voir du côté de la fonction strtotime
Genre :
$timestampD=mktime(0,0,0,$MoisD,$JourD,$AnneesD);
$timestampF=mktime(0,0,0,$MoisF,$JourF,$AnneesF);
Ensuite, tu fais $diff=$timestampF-$timestampD et tu obtiens la différence en secondes entre les deux dates
Cette deuxième partie ne réponds pas exactement a la question posée mais dans l'contexte j'imagine que ça peut te donner des idées pour la suite ^^
Si tes champs countenant $DateD et $DateF sont au stockés au format date dans ta base,
fais un "select count(*) as nb_overreservation from reservation where ([i]champ_DateD[/i] between $DateD and $DateF) or ([i]champ_DateF[/i] between $DateD and $DateF) "
si nb_overresarvation > 0 tu sauras que d'autres réservations chevauchent celle que tu essayes d'ajouter.
Sinon pour traiter les dates de tous formats plus ou moins étranges en php tu as :
Pour transformer une date au format plus ou moins chelou en timestamp :
int mktime ( int hour , int minute , int second , int month , int day , int year , int is_dst )
Pour les formats un peu mieux normalisés, voir du côté de la fonction strtotime
Genre :
$timestampD=mktime(0,0,0,$MoisD,$JourD,$AnneesD);
$timestampF=mktime(0,0,0,$MoisF,$JourF,$AnneesF);
Ensuite, tu fais $diff=$timestampF-$timestampD et tu obtiens la différence en secondes entre les deux dates
Cette deuxième partie ne réponds pas exactement a la question posée mais dans l'contexte j'imagine que ça peut te donner des idées pour la suite ^^