Mailinglisten-Archive |
Hi Christian, Zitat von Christian Vosen: > Ich möchte eine Terminübersicht in einer großen Kreuztabelle erstellen, > wobei die Termine (ca.40, Zeilen) zu bestimmten Kategorien (insg. 4 > Spalten) gehören. Die Termine kommen aus einer MySQL-Tabelle, die über > eine ID mit der Kategorietabelle verknüpft ist. Es kann vorkommen, dass > sich Termine in mehreren Kategorien überschneiden. > Beispiel: > > |Termin|Kat.1|Kat.2|Kat.3|Kat.4| > -------------------------------- > |Datum1| x | | | x | > |Datum2| | x | | | > |Datum3| | x | x | x | > |Datum4| | | | x | > -------------------------------- > > Wie lese ich jetzt sinnvoll die Werte aus der Datenbank mit PHP aus, um > mir nachher in HTML eine schöne Tabelle anzeigen zu lassen? Ich könnte > zwar per IF-Abfrage jeden erdenklichen Fall abfragen, aber da muss es > doch etwas Eleganteres geben. Wäre für Anregungen dankbar, stehe im > Moment ein wenig auf dem Schlauch. Wie sehen Deine Tabellen denn genau aus? Fuer den Teil unter der Kopfzeile darunter ginge z.B. ein Select datum, kategorieID from termine order by datum, kategorieID und dann durchlaeufst Du die Datensaetze in einer Schleife. Am Anfang und, wenn das Datum gegenueber dem vorherigen Datensatz wechselt, faengst Du eine neue HTML-Tabellenzeile an und setzt das Datum in die erste Zelle (vertikale Laufrichtung). Solange das Datum gleichbleibt, laeufst Du fuer alle Kategorien von links nach rechts durch und guckst, ob Du zu der jeweiligen Kategorie einen passenden Datumsdatensatz hast (horizontale Laufrichtung). Wenn ja, machst Du eine Markierung in die HTML-Tabellenzelle. :-) Usw. So in etwa koennte es aussehen, wenn ich Dich richtig verstanden habe. Vielleicht kannst Du noch etwas mehr Informationen geben. Viele Gruesse Lutz
php::bar PHP Wiki - Listenarchive