J'utilise mysql BETWEEN
déclaration pour trouver le chevauchement entre les dates.Il retourne des résultats assez bons. Mais il y a encore quelques problèmes qui, je l'espère, peuvent être résolus. Merci.Utilisation de mysql entre chevauchement de date à des fins de réservation
C'est ma base de données pour les tests
booking_id |venue_id |startdate | enddate 1001 |3 | 2017-07-21 |2017-07-23
Ceci est ma requête; mon concept est soit l'un de la date d'arrivée de la requête, donc il retournera true.so j'utilise OU pour les tester.
SELECT * FROM `booking` WHERE ('user_inputdate_1' BETWEEN startdate AND enddate) OR ('user_inputdate_2' BETWEEN startdate AND enddate)'
Mon test résultat
user_inputdate_1 user_inputdate_2 Result 2017-07-19 2017-07-23 true 2017-07-22 2017-07-24 true 2017-07-21 2017-07-24 true 2017-07-20 2017-07-24 false => this is the problem (it should be true)
PS: S'il d'autres façons de résoudre ce problème, je les accepte. J'ai essayé beaucoup de questions mais ils n'ont pas fonctionné pour moi.
Enfin, merci pour tous vos efforts.
il faut ajouter le signe égal pour both.anyways merci de la solution, ce travail nw pour moi! O WH 'user_inputdate_1' <= 'enddate' OU 'user_inputdate_2'> =' startdate'; – zlee