Ok, ich hab folgendes Prob:
Es geht um eine Art Buchungssys für Märkte und dass man Märkte halt nicht doppelt buchen können soll. Ich hab mir nun folgende Abfrage gebastelt um zu kontrollieren ob sich eine Buchung womöglich mit einer bereits vorhandenen schneidet.
die ersten beiden Möglichkeiten funktionieren wunderbar, nur beiden letzten nicht. es gibt nichtmal einen SQL error.
wenn man z.b. nen markt vom 1.1.2005 bis zum 30.1.2005 bucht und dann eine buchung macht, die vom 2.1.2005 bis zum 15.1.2005 geht, dann bemerkt er nicht, dass der markt in dem zeitraum schon belegt ist. Alle anderen Möglichkeiten funktionieren.
kann mir da jemand weiterhelfen?
Es geht um eine Art Buchungssys für Märkte und dass man Märkte halt nicht doppelt buchen können soll. Ich hab mir nun folgende Abfrage gebastelt um zu kontrollieren ob sich eine Buchung womöglich mit einer bereits vorhandenen schneidet.
PHP-Code:
"SELECT * FROM marktbuchungen WHERE
(
(vondatum between '$vondatum' AND '$bisdatum') OR
(bisdatum between '$vondatum' AND '$bisdatum') OR
('$vondatum' between vondatum AND bisdatum) OR
('$bisdatum' between vondatum AND bisdatum)
) AND marktid = '$marktid'"
die ersten beiden Möglichkeiten funktionieren wunderbar, nur beiden letzten nicht. es gibt nichtmal einen SQL error.
wenn man z.b. nen markt vom 1.1.2005 bis zum 30.1.2005 bucht und dann eine buchung macht, die vom 2.1.2005 bis zum 15.1.2005 geht, dann bemerkt er nicht, dass der markt in dem zeitraum schon belegt ist. Alle anderen Möglichkeiten funktionieren.
kann mir da jemand weiterhelfen?
Kommentar