reserveringsysteem met maandoverbrugging

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sjoerd

Sjoerd

12/06/2008 11:11:00
Quote Anchor link
Ik heb een agenda gemaakt met een reserveringssysteem, alleen heb ik geeen idee hoe ik het reserveren kan doen zodra er een maandoverbrugging is..

dit is het gedeelte: http://www.innederlandopvakantie.nl/index.php?id=1

Ik hoop dat jullie me verder kunnen helpen!
Als het niet duidelijk is vragen staat vrij :)
 
PHP hulp

PHP hulp

22/12/2024 19:07:06
 
Terence Hersbach

Terence Hersbach

12/06/2008 11:48:00
Quote Anchor link
wat is je tabelstructuur van de tabel met reserveringen?
 
Sjoerd

Sjoerd

12/06/2008 11:50:00
Quote Anchor link
Agenda
id
text
day
month
year
 
Joren de Wit

Joren de Wit

12/06/2008 11:52:00
Quote Anchor link
Quote:
hoe ik het reserveren kan doen zodra er een maandoverbrugging is
Dat hoef helemaal geen probleem te zijn, mits je uiteraard met een goed datamodel werkt.

Een reservering heeft een begindatum en een einddatum. Of die data nu in dezelfde maand of niet liggen, dat maakt natuurlijk niet uit. Zolang jij de data opslaat in velden van het type DATE is er niets aan de hand.

Dat jij het hebt over 'maandoverbrugging' doet mij vermoeden dat er iets niet klopt in je datamodel. Heb je wel genormaliseerd?

ps. Die velden 'day', 'month' en 'year' mag jij dus gewoon samenvoegen tot 1 veld van het type DATE waarin je een datum in het formaat 'yyyy-mm-dd' opslaat. Dan heb je helemaal geen probleem meer...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Wim Mari

Wim Mari

12/06/2008 11:59:00
Quote Anchor link
en kijk dan ook eventjes naar volgende MySQL functies:
- NOW (mogelijk gebruik je liever SYSDATE)
- DATE_FORMAT
 
Sjoerd

Sjoerd

13/06/2008 10:25:00
Quote Anchor link
@Blache heb jij een goed datamodel voor me dan?...
 
Terence Hersbach

Terence Hersbach

13/06/2008 10:56:00
Quote Anchor link
Reservering
id INT
startdate DATE
enddate DATE
userid INT
..
 
Ed

Ed

13/06/2008 14:42:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE `reservations` (
  `uniqueid` int(11) NOT NULL auto_increment,
  `resvno` int(11) NOT NULL,
  `houseid` int(11) NOT NULL,
  `from` date NOT NULL,
  `till` date NOT NULL,
  `userid` int(11) NOT NULL,
  `status` varchar(10) NOT NULL,
  `created` datetime NOT NULL,
  `updated` datetime NOT NULL,
  PRIMARY KEY  (`uniqueid`)


Gebruik ik ook voor het verhuren van huizen. En dan gebruik onderstaand stukje om een array te vullen met de bezette dagen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
while ($result = mysql_fetch_array($executequery)) {
                        
            // Get the year, startmonth, endmonth, startday, endday.
            $year = substr($result['from'],0,4);
            $startmonth = substr($result['from'],5,2);
            $startday = substr($result['from'],8,2);
            $endmonth = substr($result['till'],5,2);
            $endday = substr($result['till'],8,2);
            
            if ($startmonth < $endmonth) {
                for ($y = intval($startmonth); $y < intval($endmonth); $y++) {
                    $startmonthlatestday = date("d", mktime(0, 0, 0, $y + 1, 0, $year));
                    for ($x = intval($startday); $x <= $startmonthlatestday; $x++) {
                        $reservation[$y][$x] = $result['status'];
                    }
                    $startday = 1;
                }
                for ($x = intval($startday); $x <= $endday; $x++) {
                        $reservation[$y][$x] = $result['status'];
                }
            } elseif ($startmonth == $endmonth) {
                for ($x = intval($startday); $x <= $endday; $x++) {
                    $y = intval($startmonth);
                    $reservation[$y][$x] = $result['status'];
                }
            }
            
        }
[/php]
 
Sjoerd

Sjoerd

19/06/2008 09:54:00
Quote Anchor link
Dat script ziet er goed uit.. maar ik snap niet helemaal hoe het nou werkt..
 
Sjoerd

Sjoerd

19/06/2008 10:10:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
    $dBegin = $_REQUEST['dag'];
    $dag = $_REQUEST['dag'];
    $dEind = $_REQUEST['dag2'];
    $mBegin = $_REQUEST['maand'];
    $maand = $_REQUEST['maand'];
    $mEind = $_REQUEST['maand2'];
    $jBegin = $_REQUEST['jaar'];
    $jEind = $_REQUEST['jaar2'];


dit is wat ik uitlees... wat ik wil is dat ie even een echo geeft van alle dagen die 'ie tegen komt dus als je invult:
van: 10 05 2008
tot: 15 07 2008

dat 'ie dan geeft (dagen):
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

en (maanden:
5 6 7
 
Ed

Ed

19/06/2008 18:18:00
Quote Anchor link
Er komt een een array uit die 2-dimensionaal is, met in de eerste maand vermelding, en in de twee dag vermelding.

Als je dan bij het weergeven van je agenda per dag bekijkt, of dat deze waarde bestaat in de array, zo ja vul de dag met die afspraak, zo nee toon de dag als een vrijedag.
 
Sjoerd

Sjoerd

20/06/2008 08:59:00
Quote Anchor link
uuh.. dat is niet het antwoord op mijn vraag :$
in iedergeval kan ik er niets mee
 



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.