online-stundenplan in php programmieren?!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

online-stundenplan in php programmieren?!

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
Schumi
Ehemaliges Teammitglied
Beiträge: 4925
Registriert: 07.10.2002 12:37

Beitrag 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. :wink:
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Antworten

Zurück zu „Coding & Technik“