[php] agenda optekenen (berekening) uitdaging!!

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met de volgende uitdaging en ik ben redelijk gefrustreerd.... ik kan niet de juiste denkstap maken! :( wie o wie heeft er voldoende wiskundig/ruimtelijk inzicht om mij uit de brand te helpen?

Afbeeldingslocatie: http://www.e-mark.nl/site/wouter/agenda.jpg
Ziehier een voorbeeldje van het te behalen resultaat.

Probleem:
Het bepalen of een taak binnen het uur past en het balkje tekenen.

Situatie:
Voor het optekenen van de kalender loopt er een functie uur voor uur.
Neem het voorbeeld van 9 tot 10 uur, daar valt de taak: "omschrijving" binnen.
Daarna gaat de functie verder en kijkt tussen 11 en 12 enz enz

De functie kijkt in een takenarray waarin oa de volgende info beschikbaar is:
takenarray[0] = begintijd
takenarray[1] = eindtijd

alle tijden zijn unix_timestamps.

De truuk is nu om te bepalen of de taak binnen het uur valt van de functie.

Problemen:
taken die lopen van bijvoorbeeld 9:45 tot 12:30 of van 9:14 tot 9:45

Ik krijg het niet voor elkaar om een functie te formuleren die controleerd of een taak binnen het uur valt die op dat moment opgetekend gaat worden.

Is mijn verhaal een beetje te volgen?

[update]
het resultaat, mede mogelijk gemaakt door bras ;)
Afbeeldingslocatie: http://www.e-mark.nl/site/wouter/agenda2.jpg

[ Voor 8% gewijzigd door Verwijderd op 21-01-2004 14:20 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Je hebt de tijden al als unix timestap? Dan kan je toch gewoon bepalen of de begin tijd die je hebt groter of gelijk is aan de begintijd van het uur (bijv. de unix timestamp voor 10.00) en kleiner is dan het begin van het volgend uur (de unit timestamp voor 11.00). Hetzelfde idee voor de eindtijd.

Of denk ik nu heel erg simpel?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • bras
  • Registratie: Oktober 2000
  • Laatst online: 27-06 15:56
Stukje code bij de post hierboven:

PHP:
1
2
3
4
5
6
function ($begintijd, $eindtijd, $dituur)
{
    return ((($begintijd > $dituur) && ($begintijd < $dituur + 3600)) || 
            (($eindtijd  > $dituur) && ($eindtijd  < $dituur + 3600)) ||
                (($begintijd < $dituur) && ($eindtijd  > $dituur + 3600)))
}

met als variabelen allemaal timestamps.

eerste check gaat er om of de begin tijd in komend uur valt, tweede check of de eindtijd binnen het uur valt en de derde check zodat taken die voor dit uur beginnen en erna eindigen ook goed worden gevonden... (hopelijk :))

[ Voor 29% gewijzigd door bras op 21-01-2004 12:06 ]

"When you find yourself in the company of a halfling and an ill-tempered Dragon, remember, you do not have to outrun the Dragon...you just have to outrun the halfling."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bras held! _/-\o_
volgens mij heb je de juiste functie geformuleerd! :)

/me gaat even verder prutsen om het ook netjes op te maken