Beschikbare kamers tussen twee data

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Brian Valenburg

Brian Valenburg

26/08/2010 11:24:48
Quote Anchor link
Ik ben nog steeds bezig met het hotel systeem.

Ik wil een query uitvoeren die kijkt welke kamers er beschikbaar zijn.

In de hotelkamer tabel heb ik twee date velden:
date_from en date_fill (datum begin, datum einde)

Nu wil ik dat wanneer er een nieuwe reservering geplaatst worden, dat hij in de database zoekt op twee data die via een formulier gepost worden, en kijkt of er nog kamers beschikbaar zijn.

Wat research gedaan en kom wel de MySQL functie BETWEEN tegen, alleen kan ik alleen voorbeelden vinden van; ik wil records tussen deze en deze datum, zoekende op 1 datum veld.

Ook heb ik gelezen dat voor het beste resultaat de MySQL functie CAST gebruikt kan worden.

Concreet:
Ik wil een formulier posten met 2 data (bijv. 10-09-2010 t/m 12-09-2010)
Hij moet dan in de database kijken of er beschikbaarheid is tussen die twee data
De velden in de tabel hotelkamers zijn: date_from en date_till

Ik heb echt geen idee hoe ik dit het beste zou moeten aanpakken, hoop dat iemand me kan helpen.
 
PHP hulp

PHP hulp

23/04/2024 23:22:39
 
B a s
Beheerder

B a s

26/08/2010 11:40:45
Quote Anchor link
Dan check je of ze aan beide voldoen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT * FROM `kamers` WHERE
`date_from` BETWEEN `2010-09-10` AND `2010-09-12`
OR `date_from` BETWEEN `2010-09-10` AND `2010-09-12`


Dan krijg je de records terug die daaraan voldoen?
 
Jens V

Jens V

26/08/2010 11:41:54
Quote Anchor link
Je gaat iets zelf moeten maken. Het zijn een heel deel controles die je per kamer gaat moeten uitvoeren. Ik heb een klein tekeningske gemaakt waar je de verschillende gevallen op kan zien waarvoor je moet controleren. De controles betreffen dan het overschrijden van begin- en eind-data van het verblijf met de opgevraagde data.
Afbeelding

Hier mee zou je het moeten kunnen doen.

Met vriendelijke groeten,
Jens
Gewijzigd op 26/08/2010 11:44:25 door Jens V
 
- SanThe -

- SanThe -

26/08/2010 12:44:39
Quote Anchor link
Bas Kreleger op 26/08/2010 11:40:45:
Dan check je of ze aan beide voldoen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT * FROM `kamers` WHERE
`date_from` BETWEEN `2010-09-10` AND `2010-09-12`
OR `date_from` BETWEEN `2010-09-10` AND `2010-09-12`


Dan krijg je de records terug die daaraan voldoen?


Backtics horen daar niet. En waarom twee keer dezelfde date_from met dezelfde BETWEEN?
Gewijzigd op 26/08/2010 12:45:57 door - SanThe -
 
B a s
Beheerder

B a s

26/08/2010 12:51:22
Quote Anchor link
Dat moet natuurlijk date_till zijn.
 
Brian Valenburg

Brian Valenburg

26/08/2010 15:12:25
Quote Anchor link
Thanks, is gelukt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.