[mysql] herhalende gebeurtenissen in agenda

Pagina: 1
Acties:

  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 29-01 20:14

megamuch

Tring Tring!

Topicstarter
situatie:

Ik heb op een agenda gemaakt waar feesten op komen te staan van verschillende discotheken. De informatie wordt allemaal netjes via een CMSje in de database gestopt. Gaat prima.

Probleempje is alleen dat veel discotheken herhalende thema's hebben. Elke woensdag ladies night ofzo. Dat wordt nu elke keer opnieuw ingegeven door iemand via het CMS systeem. Nogal zinloos werk dus.

ik wil dus een optie maken waarbij men aangeeft dat het feest elke week gegeven wordt. Echter heb ik niet zo snel een goed idee om dit netjes in de DB aan te geven.

Op dit moment bestaat de tabel uit de volgende kolommen:

Id
clubid
date
partyname
omschrijving

waarbij clubid weer verwijst naar een andere tabel met informatie over de club / discotheek

Iemand een goed idee hoe ik aan kan geven dat een bepaalt 'event' zich moet herhalen ?

Verstand van Voip? Ik heb een leuke baan voor je!


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ehm, ik denk dat je het beste 2 velden toe kan voegen, namelijk een voor een eenheid, en 1 voor een grootheid. Even uitleggen. :)

In het vakje eenheid sla je op hoeveel dagen/weken/maanden/whatever er tussen 2 voorkomens van hetzelfde event zitten. In jouw voorbeeld dus een 1 erin opslaan. In het grootheid veld sla je dan op of het om dagen, weken, maanden of jaren gaat. Dan kun je het record verder lezen als "vanaf die en die datum om de zoveel dagen/weken/maanden".

Als het gewoon een eenmalig event is, vul je bij eenheid trouwens gewoon een 0 in ofzo. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 24-05 21:13

mulder

ik spuug op het trottoir

Zelf ben ik hier ook (nog niet) mee bezig en ik zit te twijfelen om een aparte tabel met daarin de 'events' in op te slaan, zodat ik elke week/maand/jaar kan kijken over er events binnen de tijdrange vallen.

Andere mogelijkheid is de events alvast voor een bepaalde tijd aan te maken.

oogjes open, snaveltjes dicht


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ik zou idd een aparte tabel maken voor events, want het datamodel van megamuch gaat stikken van de redundantie. Aan de andere kant werkt dit ook wel bij een niet al te grote database, en is het nog sneller ook.

@TS: lees even wat over het normaliseren van databases. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Het probleem met het gebruik van twee extra velden (eenheid en grootheid) is dat je niet flexibel genoeg bent. Zo kan je geen uitzonderingen aangeven op deze manier (elke woensdag ladiesnight, maar wat als oud en nieuw ook op een woensdag valt?) en dat je niet iets kan doen als "elke eerste donderdag van de maand". Ik weet zo geen goede oplossing eigenlijk. Ik denk dat ik er zelf voor zou kiezen om de functionaliteit toe te voegen in de interface, waarbij je eventueel een extra veld maakt waarin je een unieke waarde zet en waarmee je de gegenereerde records markeert als een enkele serie, die je indien gewenst in één keer kan bewerken (om bijvoorbeeld een typefoutje in de omschrijving op te lossen).

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 13:27
Een mooie oplossing zou iets zijn als:
tabel herhalende events
tabel herhalingsvoorwaarden

Dan zet je in herhalingsvoorwaarden bijvoorbeeld: {DATUM}!=1 januari voor dat ladiesnight voorbeeldje.
Pagina: 1