Hell-O!
$ereignisse= $db_zugriff->query("SELECT count(distinct(ereignis)) FROM lm_spielereignisse WHERE spieler_id='$id' GROUP BY ereignis");
Mache dir klar, was das Statement ausliest, nämlich die Anzahl der unterschiedlichen Ereignisse, die in deiner DB vorkommen. Dein "GROUP BY" ist wirkungslos, da du die Spalte, nach der gruppiert werden soll, nicht selektierst, sondern zählst. Das Resultat deiner Abfrage (sofern kein Fehler geworfen wird) ist genau ein Datensatz (den Wert habe ich mal angenommen):
count(distinct(ereignis))
-------------------------
25
$start = $spi[ereignis];
Es gibt in deinem Resultset keine Spalte mit Namen "ereignis", die du abfragen kannst (siehe die oben stehende Tabelle). Denkbar wäre eventuell sowas:
SELECT
COUNT(DISTINCT(ereignis)) AS anzahl,
ereignis
FROM
tabellenname
WHERE
spieler_id = '$id'
GROUP BY
ereignis
Dies sollte dir folgende Ergebnistabelle liefern:
anzahl | ereignis
-----------------
1 | Rote Karte
3 | Gelbe Karte
6 | Tore
Die Inhalte der Ergebnistabelle kannst du dann wie gewohnt abfragen.
Siechfred