[PHP&MYSQL] Stundenplan Script - Auslesen/Eintrage/Löschen/Bearbeiten?!

  • Servus Community,
    ich versuche ein Script zu coden, welches ermöglicht ein Stundenplan anzuzeigen.
    Es arbeitet mit PHP udn Datenbank zusammen. Also zum Aufbau:


    Am Anfang sieht es so aus:



    Nach dem wir uns eingeloggt haben erscheint dieses hier:




    Kurze Beschreibung:
    Allgemein: Es sollen die 10 letzten Einträge aus der Datenbank ausgelesen und angezeigt werden
    Eintrag Englisch Klausur: Soll ausgelesen und angezeigt werden
    Eintrag Bearbeiten: Man soll den Eintrag direkt bearbeiten können und speichern
    Eintrag löschen: Man soll den Eintrag löschen können
    Tage: Sobald man auf einen Tag klickt kommt das hier:



    Hier genau das selbe Prinzip, Einträge auslesen, bearbeiten und löschen können.


    Ich bekomme es nicht gebacken, meine Datenbank sieht so aus:



    und bei jedem tag dann dieses hier:



    Sollte ich es anders aufbauen? Wie mach ich es?

  • Besser wäre es eine Tagestabelle
    1 = Montag
    2 = Dienstag


    usw zu machen
    Dann eine stunden tabelle
    in der Stundentabelle gibst du dann die std und tagesid als primärschlüssel an
    Die tagesid als FOREIGN KEY also Fremdschüssel


    So kannst du ddann die stunden den einzelnen tagen zuweisen
    Außerdem eine Zeiten id
    Dort ist der Primärschlüssel stunde
    Dort werden start und endzeit eingetragen


    Klausuren kannst du in eine Klausur tabelle, wo dann auch der Tag und die stundenid als Fremdschlüssel drin sind

    ik bin der vito c:


  • Bei so kleinen Tabellen sind nach meiner Ansicht nach die Beziehungen scheiß egal da braucht man kein Entity-Relationship Diagram, aber das kann er ja entscheiden.


    Kleine Ergänzung zu Dark.Shadows post
    Ein kleiner Tipp um nur 10 Datensätze auszulesen, dazu gibt es den Befehl LIMIT hier LIMIT 10 um nur 10 Datensätze auszulesen


    Bsp:

    SQL
    SELECT * FROM `table` WHERE `date` > NOW()  ORDER BY `date` DESC LIMIT 10;
  • Ich würde dir folgendes vorschlagen.


    Tage (Montag, Dienstag, Mittwoch) sind Konstanten also brauchst du dafür keine eigene Tabelle, das kannst du auch in der PHP Datei definieren => gibst jedem Tag eine eindeutige ID: Montag = 1, Dienstag = 2, Mittwoch = 3, Donnerstag = 4, Freitag = 5, Samstag = 6, Sonntag = 7 (kann ja sein dass jemand Sonntags zur Schule muss :X)


    Dann würde ich mir folgende Tabellen erstellen (um es ein wenig universal zu halten)


    Tabelle faecher:
    Bekommt fach_id und fach_name als Spalten (INT und VarChar)


    Tabelle stundenplaene:
    Bekommt plan_id (int) plan_name (varchar) plan_author (bezug zur userstabelle z.B über userid) als Spalten


    Dies dient dem Zweck, dass man vielleicht später, wenn man spezifische Stundenpläne haben sollte, diese einfach hinzufügen könnte.


    Tabelle fach_zu_plan:
    Bekommt plan_id(int), fach_id(int) tag(hier die zugeordnete Tages-ID von oben verwenden - int), stunde (1. Stunde, 2. Stunde, etc. - int)


    Hiermit verküpfst du die einzelnen Fächer mit den Stundenplänen.



    Tabelle klausuren:
    Bekommt klausur_id (int) fach_id(int) beschreibung (text oder varchar), date (timestamp oder int (unixtime))


    //edit danke an Prototype für den Hinweis mit dem fehlenden Datum.

    Einmal editiert, zuletzt von 8D ()

  • Tabelle klausuren:
    Bekommt klausur_id (int) fach_id(int) beschreibung (text oder varchar)


    Das Datum denk ich wäre hier noch ziemlich wichtig da er diese ja ordnen möchte und um ein überblick zu bekommen , welche Arbeiten ja noch anstehen.


    /edit als kleine Hilfestellung beim auslesen falls du das format ändern möchtest gibt es den befehl DATE_FORMAT ( DATE_FORMAT(`Datum`, ' %d.%m.%Y') ) da das Format von MySQL für das Datum so aussieht 2013-09-21 16:37:35 (YYYY-MM-DD HH:MM:SS) und so wird das ganze auch ausgelesen es sei den man formatiert es über den bereits geschriebenen Befehl.

    Einmal editiert, zuletzt von IPrototypeI ()

  • Ahh, ich verstehe deine Methode, wobei, ich konzentriere mich gerade nur für den Admin-Bereich der nur die
    Einträge löschen, bearbeiten und hinzufügen soll. Später wird es dann angezeigt auf der richtigen Seite.
    Also der Stundenplan ist schon fertig, nur die Adminsache brauche ich und den ganzen *** :D


    Ich weiß garnicht weiter :/