Hallo,
ich habe in einer MySQL-DB eine Tabelle, in der Daten (Mehrzahl von Datum), Tätigkeiten an diesem Datum und eine ID (Primärschlüssel) gespeichert werden. Pro Tag sind mehrere Tätigkeiten (und damit mehrere Einträge pro Datum) möglich.
Ich möchte mittels PHP eine Tabelle ausgeben, in der alle Tätigkeiten und das dazugehörige Datum ausgegeben wird. Das funktioniert mittels dieser Abfrage
Code:
SELECT id, tag, taetigkeit FROM done;
gut. Mittels einer WHILE-Schleife und dem Befehl mysql_fetch_array lasse ich das Ergebnis dann in eine HTML-Tabelle ausgeben. Leider habe ich jetzt das gleiche Datum mehrfach in der Tabelle stehen. Um das zu umgehen, habe ich den SQL-Befehl abgewandelt in
Code:
SELECT DISTINCT tag, id GROUP_CONCAT(taetigkeit SEPARATOR '<br />') AS taetigkeit FROM done GROUP BY tag;
Das gibt mir die Tätigkeiten schön sortiert nach Tagen aus, jedes Datum taucht auch nur einmal auf, alles super.
Jetzt möchte ich die Tätigkeiten nachträglich aber bearbeiten. Ansprechen kann ich die Tätigkeiten normalerweise ja über die ID, dieser Zusammenhang zwischen Tätigkeit und ID wird aber durch das GROUP_CONCAT aufgehoben und alle Tätigkeiten eines Tages mit der ID der ersten Tätigkeit dieses Tages versehen.
Welche Möglichkeit habe ich denn jetzt, das gleiche Datum nur einmal auszugeben, die Tätigkeiten aber trotzdem nicht zu einem Feld zusammen zu fassen? Ich denke, es müsste eine Art Abfrage im PHP-Quelltext stattfinden, ob ein Datum mehrfach im Array vorliegt und wenn ja, es nur einmal auszugeben. Leider weiss ich nicht, wie ich diese Abfrage stellen muss. Kann mir dabei jemand eine Hilfestellung geben?
Danke und viele Grüße,
Joerg