Avatar billede lillebror Nybegynder
01. december 2004 - 11:33 Der er 8 kommentarer og
1 løsning

Et skoleskema i php

Hejsa eksperter

Jeg har en idé om at ville lave et skoleskema i php og mysql. Det skal laves sådan at andre også kan oprette deres skoleskema, men det er så her jeg kommer i tvivl, hvordan laver jeg det så det bruger mindst computerkraft på serveren?

Jeg har jo valget mellem at lave en række i databasen for hver time.

Jeg kan i stedet lave én række pr. kalender, hvor jeg smider alt min information i nogle kolonner, og fortolker dem med php.

Ifølge min logiske sans vil alternativ 1 belaste databasen mest, mens 2 vil kræve mest kode.

Hvilken måde er den mest optimale?
Avatar billede thb Nybegynder
01. december 2004 - 12:42 #1
Jeg tror at jeg ville lave en tabel med felterne:

id,dato/dag,klasse,skole, og så x antal time intervaller der er på en dag.

Intervallerne kan jo bare skrives som timer, i folkeskolen har man vel maks 8 timer om dagen. så skulle felterne hedde t1, t2 osv..

Det med dato/dag det kunne enten være at man udfyldte uge dagens nr. altså mandag = 1 eller at man indtastede en dato men det er vel ikke så optimalt da ens skema plejer at være ens hele vejen, undtagen hvis man har sådan noget 14 dages skema.

Thomas
Avatar billede lillebror Nybegynder
01. december 2004 - 12:55 #2
Den løsning duer ikke, fordi folk har forskelligt antal maximum timer.
Det er derfor jeg har de to alternativer.
Jeg vil nemlig have et skema, der ikke er fuld af tomme felter, hvis man max har 6 timer, og der er en anden i systemet der har 10
Avatar billede thb Nybegynder
01. december 2004 - 13:17 #3
Så skal du lave 2 tabeller, en med hovedinfo såsom klasse,skole osv.. og en tabel med et klasse_id, dag, timer, interval..

Thomas
Avatar billede lillebror Nybegynder
01. december 2004 - 13:24 #4
Læg mærke til at jeg ikke søger løsningen på hvordan det skal gøres, jeg vil vide hvilket af mine alternativer der er bedst i forhold til belastning af serveren!

Du blander noget klasse, skole osv. ind i det, det skal du slet ikke.

Jeg har brug for at vide, skal jeg lave én række pr. tabel hvor indholdet af TIMER er de forskellige intervaller komma separeret, og hvor MANDAG f.eks. også er komma separeret?

Eller skal jeg lave én række på time.

Hvis 1000 brugere hver har 10 timer som max, så vil alternativ 1 give 1000 rækker i tabellen, mens alternativ 2 vil give 10.000 rækker. Spørgsmålet er hvorvidt mysql bliver 10 gange langsommere til at finde de timer der hører til hver enkel bruger?!?
Avatar billede Slettet bruger
01. december 2004 - 13:26 #5
10.000 rækker er ingenting på en indekseret SQL server, heller ikke selvom det er MySQL :)

Jeg ville klart lade serveren klare arbejdet.
Avatar billede lillebror Nybegynder
01. december 2004 - 13:32 #6
Well, hvad så hvis vi snakker 100.000, 500.000 rækker?

er det stadig at foretrække 1 række pr time?

Jeg er ikke sikker på at jeg nogensinde når det antal, men jeg vil helst ikke lave en løsning der kunne komme til at bukke under hurtigt.
Avatar billede kammeyer Nybegynder
01. december 2004 - 13:35 #7
Skal det blot være et generelt skoleskema med de faste ting for en uge (som er ens resten af året)
- kan der komme specielle arrangementer ind og "overdøve" de faste ting?
- mulighed for at alle ugerne er forskellige? (masser af indtastning)

Du kan vælge at lave et array der dækker en fast uge (som den skal se ud året rundt) - og dernæst bruge "serialize($ugeskema)" og blot smide den ind i databasen - så har du en rimelig kompakt kalender i databasen - og dernæst bruge unserialize når du henter den fra databasen igen.

Der med har du et absolut minimum af logik i både database og php scriptet.
Avatar billede lillebror Nybegynder
01. december 2004 - 13:45 #8
Jeg kan prøve at forklare skemaet bedre:
Man indtaster antallet af timer og intervallerne i klokkeslet.
Derefter indtaster man sit skema, og derefter ligger det fast, men kun indtil man retter det igen. Hvor tit det bliver rettet ved jeg ikke, for det er op til den enkelte.

Men dvs. du tilslutter dig ideen om at der skal være én række pr. skema, og dermed fortolke skemaet i php i stedet for at få udtrækket fra databasen?
Avatar billede lillebror Nybegynder
02. december 2004 - 17:04 #9
Jeg vælger at gå efter din løsning med komma separeret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester