dedlfix: MySQL Abfrage in Array

Beitrag lesen

echo $begrüßung;

Ich vermute mittlerweile, das die Abfrage, also $tmp[date("N",$row['termin_startdate'])][] = $row; fehlerhaft ist, denn der Abgleich mit $tmp[1] = array();, $tmp[2] = array();, usw. klappt ja nicht.

Zur Fehlersuche kann man solche Gebilde in seine Teilausdrücke aufteilen und einzeln testen.

  • Liefert var_dump($row['termin_startdate']); ein passendes Ergebnis?
  • Liefert var_dump(date("N",$row['termin_startdate'])); ein passendes Ergebnis?
  • Steht in $row alles wie gewünscht?
    Das sind die Teile, die ein Ergebnis liefern. $tmp[...][] = ... ist eine Zuweisung, die wird vermutlich problemlos ausgeführt. Eine Kontrollausgabe von $tmp oder $tmp[...] kann aber nicht schaden.

Außerdem bekomme ich mit fetch_assoc nun die Fehlermeldung:

Die Ursache ist nicht das fetch_assoc(). Das sorgt aber überhaut erst einmal dafür, dass du mit $row['termin_startdate'] an einen Spalteninhalt kommst.

A non well formed numeric value encountered in $tmp[date("N",$row['termin_startdate'])][] = $row;
Was glaube ich meine Vermutung untermauert?!

Die Funktion date() erwartet einen Unix-Timestamp. Ein solcher ist in dem Feld mit dem Alias weekday enthalten. In termin_startdate steht ein formatierter Datumsstring. Abgesehen davon kann man auch gleich MySQLs umfangreiche Date and Time Functions dazu verwenden, den Wochentag zu liefern (beispielsweise DAYOFWEEK() oder WEEKDAY())

echo "$verabschiedung $name";