[PHP] tijd overlap met UNIX tijd

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 96874

Topicstarter
Hallo
ik heb een uitdaging:
Stel je hebt een agenda met afspraken, of boekingen oid.
dan kun je overlap hebben op een aantal manieren:
code:
1
2
3
4
5
6
7
                  P1              P2
tijdlijn ---------|---------------|---------
             A----|---B           |
                  |            C--|-----D
                  |   E------F    |
             G----|---------------|-------H
                  |               |
De bestaande boeking (in Database) is tussen P1 en P2, AB, CD, EF en GH zijn opties 9die in database willen)...
Welnu: met volgend script kan ik dubbele boekingen deels voorkomen:
WHERE begintijd (dus ACE of G) > P1 && < P2 OR eindtijd (dusBDF of H) > P1 && <P2 .....-> dan foutmelding
hiermee kan ik AB CD en EF pakken, maar wat nu in het geval van GH???
wie help me?
thanx

[ Voor 10% gewijzigd door Anoniem: 96874 op 25-01-2006 16:31 ]


Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 13:37

pietje63

RTFM

Eeh, ik snap het niet helemaal, maar misschien een join met een query:
where begintijd < P1 AND eindtijd > P2

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 11:32

RM-rf

1 2 3 4 5 7 6 8 9

SQL:
1
2
3
4
WHERE 
   ( begintijd < P1 AND eindtijd > P1 ) OR 
   ( begintijd < P2 AND eindtijd > P2 ) OR 
   ( begintijd  > P1 AND begintijd  < P2 )


zou mijn opzet zijn, pikt allevier de opties

[ Voor 4% gewijzigd door RM-rf op 25-01-2006 15:51 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • WormLord
  • Registratie: September 2003
  • Laatst online: 10-05 11:00

WormLord

Devver

De volgende clause pakt alle vier de situaties:
SQL:
1
WHERE begintijd < P2 AND eindtijd > P1

Acties:
  • 0 Henk 'm!

Anoniem: 96874

Topicstarter
Devver, ik kan het haast niet geloven dat het in 1 regel kan,
best wel geniaal van je......
ik ga het proberen, kan het nog steeds niet geloven....

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
Anoniem: 96874 schreef op woensdag 25 januari 2006 @ 16:40:
Devver, ik kan het haast niet geloven dat het in 1 regel kan,
best wel geniaal van je......
ik ga het proberen, kan het nog steeds niet geloven....
dat is alleen als P2 altijd groter is dan P1

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

Anoniem: 96874

Topicstarter
ja okay, maar in het geval van een afspraak in een agenda is dat zo,
ik kan in mijn systeem geen afspraken maken die eerder ophouden dan ze beginnen...
(hoewel dan soms fijn zou zijn)

[ Voor 10% gewijzigd door Anoniem: 96874 op 25-01-2006 16:47 ]


Acties:
  • 0 Henk 'm!

  • WormLord
  • Registratie: September 2003
  • Laatst online: 10-05 11:00

WormLord

Devver

BasieP schreef op woensdag 25 januari 2006 @ 16:42:
[...]


dat is alleen als P2 altijd groter is dan P1
En als begintijd altijd kleiner is dan eindtijd. Maar gezien de TS vond ik dat wel veilige aannames :)
Pagina: 1