Hi,
nicht jeder kann "unseren" Cheatah verstehen. ;) Und er muss auch nicht immer richtig liegen.
Aber es müßte mit meinen wenigen Kenntnissen doch völlig egal sein ob ich für die Anzahl der Teilnehmer ein Ja "filtere" oder eine Zahl oder ein "true", ein "false" oder oder ...
'Ja' braucht 2 byte, 'Nein' braucht ... äh ... 4 byte? 'true' in der Form bit oder boolean, braucht nur ... äh ... 1 byte. Soviel erstmal dazu. 'Ja' ist ausserdem Deutsch, und damit uncool.
Wenn du für einen Termin jetzt max. 15 Teilnehmer haben kannst, dann machst du 15 Spalten? Teilnehmer1 .... Teilnehmer7 .... Teilnehmer15? Und was, wenn du vielleicht dann doch mal 19 brauchst? Du siehst, dein Design ist absolut ungeeignet.
Also,
-
du normalisierst aus, 1 Tabelle Termin (da drin steht z.b. das Datum des Termins), 1 Tabelle Teilnehmer (da drin hätts dann z.b. den Teilnehmernamen - übrigens völlig unabhängig von Terminen und anderen Teilnehmern) und weiters hast du eine Tabelle 'Teilnahme' mit eigentlich 2 Spalten: TerminId (verweist auf die Tabelle Termine) und TeilnehmerId (verweist - na auf welche Tabelle??)
-
wenn du jetzt irgendwas mit Zählungen machen willst, dann tust du das mittels Tabelle 'Teilnahme', COUNT() und GROUP BY. Die Seiten im Online-Handbuch von MySql zu diesen beiden Dingen findest du selbst. Du brauchst die Anzahl also nicht physikalisch speichern.
-
dann überlegst du dir, ob du in PHP wirklich pivotieren (Stichwort Kreuztabelle) willst, wenn ja, dann tust du es in PHP, wenn nicht, dann gibst du die Records eben vertikal in einer Tabelle aus, so wie sie aus der DB rauskommen
Gruss, Frank