PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mySQL Tabellen für Kalender


Wauzy
15.02.2004, 13:53:15
Hallo

Ich programmiere gerade einen Notdienstkalender für Apotheken, also da wo jeweils die Apotheken drin stehen die an dem jeweiligen Tag Notdienst haben.

Und ich frag mich gerade wie ich am besten die Kalender (mysql) Tabelle aufbauen soll?

Ich habe schon eine Apotheken Tabelle in der alle Apotheken mit ihren Daten über eine id angesprochen werden können.

Soll ich dann jetzt eine durchlaufende Tabelle machen wo ich dann zu jedem Tag die apotheken id´s eintrage?

Wird die dann nicht auf die dauer ewig lang?
Was sollte dann die Id der Daten sein? Das Datum selber?
Wie sollte daraus die Abfrage aussehen, so irgentwie?
(Bsp: select * from apotheken_daten where id like 0104)
Um alle Datensätze von Januar 04 zu bekommen.
(Ist nicht die richtige SQL Syntax, ich weiß , aber das würde noch rausfinden)

Ich erwarte hier bestimmt keinen Code oder fertige Scripte, das werde ich schön brav selber schreiben, ich möchte nur ein paar Ideen um nicht alle Fehler und unlogiken noch mal zu machen die vielleicht schon bekannt sind.

Schönen Sonntag noch.

Gruß

Wauzy

feuervogel
15.02.2004, 14:35:07
//verschoben

so, hat denn an einem tag nur eine apotheke notdienst? oder mehrere? und wie weit in die zukunft soll das denn gehen?

weil alles was in der vergangenheit liegt, kannst du ja löschen. das zu der länge.

zweitens würde ich die id als auto_increment machen. dann gibts eine spalte apo_id, eine spalte month und eine day. von mir aus noch was mit uhrzeit. für jeden tag an dem eine apotheke notdienst schiebt einfach ne neue zeile in die tabelle, dazu die id von der apotheke und das datum (eventuell noch mit jahr) wann sie offen hat.

dann kannst du das monate-weise oder auch tage-weise abfragen.

Wauzy
15.02.2004, 15:29:33
Hmm, das sind ja schon einige Ideen, darüber denke ich auf jeden auch mal nach.

Und zu deiner Frage, ja bis zu 3 Apotheken können an einem Tag Notdienst haben, aber dafür mach ich dann einfach 3 Spalten, Apot_id_1, Apot_id_2, Apot_id_3 und dann werde ich wohl das Datum aufsplitten, muß ich aber erst mal weiter denken, hoffe das ich damit weiter komme.

MFG

Wauzy

feuervogel
15.02.2004, 20:03:56
moooment...du machst 3 zeilen...sowas macht man nicht, denn wenn auf einmal 4 offen haben, müsstest du ja die db-struktur verändern...so was ist bäh!

das datum aufsplitten muss nicht sein, das sortieren wird dann aber erst mal einfacher.

Wauzy
15.02.2004, 20:50:23
@feuervogel

Dann gib mir doch bitte einen Tip wie ich es geschickter machen sollte, ich hab den Post doch extra gemacht damit ich von anfang an eine saubere Strucktur hin bekomme.

(Und verstehen tuhe ich den Einwand auch nicht genau, wenn ich dann drei spalten habe und sich wirklich mal eine vierte dazu verierren sollte, was ich nicht glaube, dann mache ich halt einfach eine spalt für die id4 dazu, ist doch nicht wirlich ein problem. Entweder lese ich die Zeile mit "Select * from ..." aus. dann hätte ich ja auch gleich die vierte mit drin oder ich müßte auch noch in der Abfrage die id4 Spalte dazu packen, ist doch aber nicht wirlich ein Problem.)

Aber danke schon mal für eure Hilfe und das ihr euch Gedanken macht.

MFG
Wauzy

feuervogel
15.02.2004, 21:05:20
es ist sauberer und flexibler, vertrau mir. wenn etwas nicht schön ist, dann eine unflexible db-struktur.

wenn eine vierte apotheke auftaucht, dann machst du im phpmyadmin einfach eine vierte spalte dazu, musst dann im html-code das feld für die vierte einbauen, und im php-code das speichern einbauen.

wenn du für jede apotheke eine zeile machst, kann jeder auch einfach eine vierte oder fünfte oder 100. einfügen.

edit: und wenns mal nur 2 oder 1 sind, dann musst du nicht noch überprüfen, welche felder alle ausgefüllt sind...

und stell dir vor, 2 werden eingetragen, und dann soll noch ne dritte dazu.

erst gucken, welche felder schon belegt sind, dann in das leere updaten...