ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
336
336
EMPFEHLEN
-
Hi,
ich habe 6 Start und Ende Felder [termin_1_start, termin_1_ende, termin_2_start, termin_2_ende, etc.} für Termine als DATETIME Felder eingerichtet.
Daneben ist auch noch ein Namensfeld für Kurse [kurs_name] (welche aus 6 Modulen bestehen und deshalb 6 Start und logischerweise 6 Endtermine haben) angelegt.
Nun möchte ich, dass der nächste (Modul-)Starttermin des jeweiligen Kurses aus der Datenbank (MySQL) anhand des heutigen Datums aufgerufen wird inkl. des passenden Kursnamens.
Ich weiß nicht, wie ich da rangehen soll.
Beste Grüße,
prekoWem das Wasser bis zum Hals steht, sollte den Kopf nicht hängen lassen.
Was man heute Rap-Musik nennt, hieß früher Stottern und war heilbar...
Es gibt zwei Wege im Leben - den schweren und den falschen!
-----------------------------------------------------------------------------------------------------
http://www.prenociste-mir.com
-----------------------------------------------------------------------------------------------------
-
Erst einmal ist dein Datenmodell nicht normalisiert. Das solltest du erst mal ändern, bevor du dir Gedanken über das Auslesen machst.
Starttermin, Endtermin beinhalten Informationen die miteinader verknüpft sein. Das darf so nicht sein.
Du musst sie also auseinander nehmen in:
Starttermin und Dauer meinetwegen ..
Außerdem verstehe ich auch nicht, wozu du für jeden Termin ein extra Feld speichern willst ..
Schau die mal das Thema Normalisierung ein wenig an ..
Gruß Stefan
/Edit: ok, das mit den 6 Terminen hab ich jetzt kapiert ich würde dir vorschlagen, die Daten in unterschiedliche Tabellen zu packen:
Kurse, Module, Modultermine oder so und diese dann miteinander zu verknüpfen, dann sparst du dir diese ganzen sinnlosen doppelten Felder ..Geändert von teppi (25.04.06 um 12:06 Uhr)
:-) möp
-
Hi teppi,
Zitat von teppi
erstmal vielen Dank für die schnelle Antwort.
Allerdings kann ich die Daten nicht splitten, da die angefragte Problematik eine Tabelle erfasst, die schon per JOIN mit einer anderen Tabelle abgefragt wird.
Da mehrere verschiedene und voneinander unabhängige Personen auf die Kursdaten zugreifen, hinterlässt jeder dieser Personen z. B. 5 (oder auch mehr) verschiedene Kurse mit verschiedenen Terminen. Es sind also keine wiederkehrenden Termine mit fester Dauer, sondern können durchaus unterschiedlich lang laufen (ja nach Feiertagen, Urlaubszeit, etc.).
Später für die Abfrage muß für die Anwender ersichtlich sein, wann ein Modul angefangen hat und wann dieses Endet.
Um auf die Anfangsproblematik zurück zu kommen, soll also der nächstgelegene Modul-Anfangstermin anhand des heutigen Datums dargestellt werden, damit die Anwender einen Anhaltspunkt haben, wann sie sich z. B. einschreiben müssen.
Beste Grüße,
prekoWem das Wasser bis zum Hals steht, sollte den Kopf nicht hängen lassen.
Was man heute Rap-Musik nennt, hieß früher Stottern und war heilbar...
Es gibt zwei Wege im Leben - den schweren und den falschen!
-----------------------------------------------------------------------------------------------------
http://www.prenociste-mir.com
-----------------------------------------------------------------------------------------------------
-
Hi,
hat niemand eine Idee, wie ich dieses Problem lösen kann? Ich häng` echt in den Seilen.
Beste Grüße,
prekoWem das Wasser bis zum Hals steht, sollte den Kopf nicht hängen lassen.
Was man heute Rap-Musik nennt, hieß früher Stottern und war heilbar...
Es gibt zwei Wege im Leben - den schweren und den falschen!
-----------------------------------------------------------------------------------------------------
http://www.prenociste-mir.com
-----------------------------------------------------------------------------------------------------
-
Hallo,
im Normalfall wäre die Datenbank genau an dieser Stelle zu normalisieren, aber manchmal geht das im Nachhinein eben nicht mehr. Nicht so schlimm, es gibt für alles eine Lösung - da die 6 Start Daten ja chronologisch angelegt sein werden sollte es mit einem Case WHEN recht einfach möglich sein, den nächsten termin zu ermitteln.
Code :1 2 3 4 5
SELECT CASE WHEN termin_1_start > NOW() THEN termin_1_start WHEN termin_2_start > NOW() THEN termin_2_start ... END AS start FROM tab
Eine Lösung hätte ich schon, aber sie passt nicht zum Problem.
Ähnliche Themen
-
User finden, die KEINEN Termin gebucht haben
Von McMay im Forum PHPAntworten: 5Letzter Beitrag: 08.09.10, 09:42 -
Wie mache ich die Inhaltsübergabe aus Datenbankfeldern für den Druck?
Von Matze7 im Forum .NET Windows FormsAntworten: 0Letzter Beitrag: 24.01.10, 18:01 -
Aktuellen Termin anzeigen
Von 5im0n im Forum PHPAntworten: 5Letzter Beitrag: 07.04.07, 19:21





Zitieren
Login





