Hallo mensen,

Ik heb een tabel in de database met de naam 'classes'. Deze tabel beschikt over de volgende kolommen

class_id (id)
class_name (varchar)
class_firstschoolday (date)
class_teacher_id (int)
class_i1_start (date)
class_i1_end (date)
class_i2_start (date)
class_i2_end (date)

Ik maak een grafiek met daarin wat data. De onderste as van de grafiek wordt op de volgende manier gemaakt


xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},


Nu wil ik dit graag dynamisch maken. Ik wil op een of andere manier de maanden die tussen class_firstschoolday en class_i2_end (Dit is 3 jaar) in de array stoppen. dus 36 maanden (welke dit zijn is de vraag en wil ik berekenen)

Met vriendelijke groet,

Gijs
Zou ik mogen vragen waarom je kolommen laat afhangen van het aantal? Dit klinkt niet echt netjes genormaliseerd.
Ik weet niet of ik je helemaal goed begrijp,

Maar start i1 = startdatum eerste stage periode, end i2 is dus het einde van deze periode

hetzelfde verhaal voor i2. Dit is, omdat deze data verschillen per klas en per jaar
Dus dan zet je dit in een aparte tabel, "internships" oid. Dan kun je daar je klas weer aan koppelen. Dan ben je van de genummerde kolommen af, en kun je veel eenvoudiger een query samenstellen die doet wat je wil.
En dan wil je straks een klas toevoegen, en dan breid je de tabel uit met nieuwe velden...
Nee, in dit geval is de opzet van de database-structuur niet correct. Het is raadzamer de klassen in een tabel 'classes' op te slaan en daarin de periodes te bepalen.

Op deze manier moet je hele omslachtige queries bedenken om 'data uit te rekenen'. Met een goed gestructureerde en dus genormaliseerde database is dit niet zo.
Bedankt voor de reactie,

Ik zou mijn databasestructuur herzien.

Dank,

Gijs

Reageren