Ich habe einen Termin Planer über Mysql/Php programmiert.
In eine Übersicht werden alle Termine angezeigt
Tabellenstruktur:
id #Schlüssel
end # wenn Termin gelaufen = 1, wird dann in der Übesicht nicht mehr angezeigt
Serie
sub_id
timestamp # daraus gewinne ich z.B. 6.12.2014 20:15
Das Problem, es gibt auch Serien-Termine, die bestehen aus einen Haupt Eintrag Serie=1
und viele Untereinträge die über Sub_id=id verknüpt werden.
Ist nun der Haupttermin gelaufen, bekommt der end=1 und fliegt aus der Übersicht raus.
Dafür sollte eigentlich der nächste Untertermin angezeigt werden.
Hier fängt das Problem an.
SELECT * FROM jobs WHERE END =0 ORDER BY von_timestamp
musst heißen
SELECT * FROM jobs WHERE END =0 wenn (serie=1 and end=1) dann SELECT * FROM jobs WHERE sub_id=id ORDER BY von_timestamp
also ist es eine Serie, wo der Haupttermin gelaufen ist, zeige mit den ersten Untertermin.
Ich habe das zwar schon über php mit viel drehen gelöst, indem ich im select OR serie=1 ergänz habe,
dann in der Liste die serie=1 and end=1 abgefangen habe und den 1. Untertermin dafür gezeigt.
leider stimmt dann die Sortierung nicht, weil vom Haupteintrag ausgegangen wird.
Kann man das überhaupt über einen Sql-Select löschen?
In eine Übersicht werden alle Termine angezeigt
Tabellenstruktur:
id #Schlüssel
end # wenn Termin gelaufen = 1, wird dann in der Übesicht nicht mehr angezeigt
Serie
sub_id
timestamp # daraus gewinne ich z.B. 6.12.2014 20:15
Das Problem, es gibt auch Serien-Termine, die bestehen aus einen Haupt Eintrag Serie=1
und viele Untereinträge die über Sub_id=id verknüpt werden.
Ist nun der Haupttermin gelaufen, bekommt der end=1 und fliegt aus der Übersicht raus.
Dafür sollte eigentlich der nächste Untertermin angezeigt werden.
Hier fängt das Problem an.
SELECT * FROM jobs WHERE END =0 ORDER BY von_timestamp
musst heißen
SELECT * FROM jobs WHERE END =0 wenn (serie=1 and end=1) dann SELECT * FROM jobs WHERE sub_id=id ORDER BY von_timestamp
also ist es eine Serie, wo der Haupttermin gelaufen ist, zeige mit den ersten Untertermin.
Ich habe das zwar schon über php mit viel drehen gelöst, indem ich im select OR serie=1 ergänz habe,
dann in der Liste die serie=1 and end=1 abgefangen habe und den 1. Untertermin dafür gezeigt.
leider stimmt dann die Sortierung nicht, weil vom Haupteintrag ausgegangen wird.
Kann man das überhaupt über einen Sql-Select löschen?