Seite 1 von 2
online-stundenplan in php programmieren?!
Verfasst: 17.07.2005 13:53
von leopittoni
Hallo
Ich habe vor, einen online-Stundenplan in PHP selber zu programmieren.
Ich habe mir nun vorgestellt, ein Template zu machen mit einer PHP Datei die die Daten im Template ausgibt.
Die Daten sollte man über einen web-admin-bereich direkt ändern, Stunden streichen oder verschieben können.
Ich habe gedacht, am besten geht das sicher mit einer mySQL-Datenbank.
Kann mir jemand erklären, wie ich die Datenbank anlegen könnte? Also was und wie ich die Tabellen erstellen muss, damit man sie danach in einem Admin-Bereich ändern kann.
Und wie kann man dann die Daten der Datenbank direkt vom Admin-Panel aus ändern?
Danke, Léo
Verfasst: 17.07.2005 18:20
von D@ve
Also ich brauche auch demnächst einen Kalender mit Stundenplan-Funktion und hab mir da schon ein paar Gedanken gemacht... vielleicht hilft es.Mein Ansatz geht dahin, dass man einmal einen einzelnen Termin mit Start-Zeit und Endzeit angeben kann (um auch mehrtägige Veranstaltungen zu ermöglichen) und zum anderen, dass man an einen einzelnen Start-Termin eingeben kann bei dem Dauer und Periode angeben kann. Periode ist dann sowas wie "täglich", "wöchentlich", "Monatlich" etc.
So kann man also festlegen, dass der Englisch-Unterricht Montag, den 17.07.2005 von 08.15 Uhr bis 09.00 Uhr stattfindet. Will man, dass der unterricht (wie es bei einem Stundenplan üblich wäre). Jede Woche stattfindet, macht man einen Haken bei "wöchentlich" und da in einem Monat Sommerferien sind stellt man bei "Dauer" noch einen Zeitraum von 4 Wochen ein.
Zur Umsetzung: Die kleinste Periodische Einheit ist ein Tag - eine stündliche Wiederholung ist als nicht möglich. Gespeichert wird ein Termin immer nur einmal (auch bei wöchentlichen Terminen) und zwar mit drei Timstamps: Startzeitpunkt, Endzeitpunkt und Gesamt-Dauer. Die Gesamtdauer teilt sich dann in Wert und Einheit. Für die Einheit würde ich ids vergeben (0: einmalig, 1: täglich, 2: wöchentlich, 3: monatlich) etc. ähnlich würde ich bei der Peruide verfahren (um auch Termine die alle 2 Monate stattfinden zu realisieren).
Im obigen Fall wäre es also folgendermaßen:
timestamp_start: 18.07.2005 08.15 (die Umrechnung als timestamp spare ich mir hier)
timestamp_end: 18.07.2005 09.00
duration_value: 4
duration_item: weeks
period: 2
(Zusätzlich kommen natürlich noch Felder für Beschreibung, Überschrift und dergleichen)
Mehr wird eigentlich nicht benötigt um eine Veranstaltung eindeutig zu terminieren. Durch die Verwendung von timestamps kann ich mir also ohne Probleme jeden Tag auslesen lassen, welche Veranstaltungen gerade aktuell sind. Vielleicht speichere ich später noch ein paar zusätzliche redundate Felder um die Performance zu verbessern.
Ist zwar etwas mehr als Du brauchst, aber vielleicht gibt Dir das einen Ansatz. Da Dein Stundenplan ja wahrscheinlich ein Jahr lang gilt, und alle Termine wöchentlich periodisch sind, brauchst Du im Prinzip ja nur Startzeit und Endzeit speichern. Willst Du auf time-stamps verzichten, brauchst Du zusätzlich noch den Wochentag. timestamps sind aber eine praktische Sache, da man damit wunderbar rechnen kann, was mit normalen Datumsangaben nicht funktioniert.
Gruß, Dave
Verfasst: 18.07.2005 15:59
von leopittoni
Hallo
Alles ein wenig kompliziert für mich...
Ich möchte eigentlich einfach einen Stundenplan, mit fixen "Fächer", also nicht wöchentlich oder so. Einfach dass man die Stunden übers Web streichen/verschieben könnte.
Wie wäre das möglich, wie muss ich die DB erstellen, also was für Tabellen usw.?
Danke, Léo
Verfasst: 18.07.2005 16:30
von D@ve
leopittoni hat geschrieben:Hallo
Alles ein wenig kompliziert für mich...
Ich möchte eigentlich einfach einen Stundenplan, mit fixen "Fächer", also nicht wöchentlich oder so. Einfach dass man die Stunden übers Web streichen/verschieben könnte.
Wie wäre das möglich, wie muss ich die DB erstellen, also was für Tabellen usw.?
Danke, Léo
Also eine Schritt-für-Schritt-Vorkau-Anleitung wirst Du hier von niemandem bekommen, das würde den Rahmen hier bei weitem sprengen. Ich habe Dir einen Ansatz vorgezeigt, wir Du die DB designen kannst.
Ein bisschen mit der Materie auseinandersetzen musst Du Dich schon...
Gruß, Dave
Verfasst: 19.07.2005 12:45
von leopittoni
Hallo
Sorry, aber haben eben wirklich 0 Ahnung in DB, in PHP auch nicht sehr viel Ahnung...
Ich habe einfach meinen Stundenplan. Anstatt der 1. Stunde am Montag steht: {mo1a}{montag1}{mo1b}
Diese Variabel sollte man eben halt über einen online-admin-bereich ändern können.
Im montag1 steht dann das fach. also zB. "Deutsch"
mo1a wäre dann zB. "<del>", mo1b "</del>", wenn die Stune gestrichen wäre.
Nun möchte ich einfach, dass man dann im admin -bereich aus einem Menü auswählen kann: Stunde streichen(verschieben,..) und dann setzt es halt in die DB (und somit dann auch in die Variable meines Stundenplans) das <del> und die Stunde erscheint dann als gestrichen.
Kann mir jetzt vielleicht jemand helfen?
Danke, Léo
Verfasst: 19.07.2005 14:15
von Schumi
leopittoni hat geschrieben:Sorry, aber haben eben wirklich 0 Ahnung in DB, in PHP auch nicht sehr viel Ahnung...
Kauf dir ein Buch, arbeite es durch, und fang an zu Bauen. Ohne Grundkentnisse kannst du auch nicht anfagen zu arbeiten. Und wie du in deinem ersten Satz sagtest, wolltest du
selber programmieren.

Verfasst: 19.07.2005 16:32
von D@ve
Kann mich Schumi nur anschließen... Wenn Du nicht zumindestes einen groben Plan von php hast, vergiß das. Spätestens ab dem Punkt wo ein "Admin-Bereich" (um mal bei Deinen Worten zu bleiben) ins Spiel kommt, werden derartige Skripte aufwändig.
Gruß, Dave
Verfasst: 19.07.2005 16:46
von leopittoni
Hallo
Ok, kann mir denn wenigstens jemand sagen, wie man eine "normale" DB-Tabelle, (also soeine, inder zb. der Nickname (im Forum) gespeichert wird), erstellt und wie man danach diese mittels PHP ändern oder aufrufen kann?
Danke, Léo
Verfasst: 19.07.2005 16:59
von D@ve
leopittoni hat geschrieben:Hallo
Ok, kann mir denn wenigstens jemand sagen, wie man eine "normale" DB-Tabelle, (also soeine, inder zb. der Nickname (im Forum) gespeichert wird), erstellt und wie man danach diese mittels PHP ändern oder aufrufen kann?
Danke, Léo
Erstellen:
Code: Alles auswählen
CREATE TABLE 'normale_db_tabelle' (
'user_id' INT NOT NULL ,
'nickname' VARCHAR( 63 ) NOT NULL ,
'realname' VARCHAR( 63 ) NOT NULL
);
Einfügen:
Code: Alles auswählen
INSERT INTO normale_db_tabelle SET nickname = 'superman', realname = 'Karlheinz Müller', user_id = 5
Abfragen:
Code: Alles auswählen
SELECT user_id, nickname, realname FROM normale_db_tabelle WHERE user_id = 5
Ändern:
Code: Alles auswählen
UPDATE normale_db_tabelle SET nickname = 'spiderman, realname = 'Karlheinz Müller' WHERE user_id = 5
Weitere Details würden den Rahmen hier sprengen...
Gruß, Dave
Verfasst: 19.07.2005 17:58
von leopittoni
Hallo
Schon mal vielen, vielen Dank für die Hilfe!
Wenn ich jetzt mein Template mit den Daten aus der DB "füllen" möchte, wie muss ich das machen?
Also wie kann ich mit der entsprechenden php-Datei die DB abfragen?
Code: Alles auswählen
SELECT user_id, nickname, realname FROM normale_db_tabelle WHERE user_id = 5
wie kann ich dann zB. den "nickname" vom user_id=5 anzeigen lassen?
Danke, Léo