Jörg: Wert wird nicht ausgegeben, ich finde den Fehler nicht

Beitrag lesen

Hallo Rolf,

Eigentlich gar nicht.

Nicht? Inwiefern?

Du lässt eine Schleife über $arrDay[$myUser][$Datum]['Vorgang'] laufen, was hoffentlich ein Array ist. Die Array-IDs und Werte kommen nach $ID und $value - werden dann aber in der Schleife überhaupt nicht verwendet.

Einverstanden, sie werden nicht benötigt.
UNd ja, das Array ist ein Array.

Nein. Doch! Ohhhh! Und was sagt uns das jetzt? Was erwartest Du? Was passiert statt dessen? Kommt eine Fehlermeldung? Hast Du die Ausgabe von Fehlermeldungen eingeschaltet?

Was passiert: Alles wird korrekt angezeigt, es sei denn, ein Tag hatte keine Termine, dann wird die else-Bedingung nicht ausgeführt.

Und genau das verstehe ich nicht.

Ich würde erwarten, dass pro Schleifendurchlauf eine Anzahl von <br> ausgegeben wird und danach in einem Span mit Klasse rot1b der Wert des DaySum-Eintrags. Die Anzahl der <br> ist um eins weniger als die Anzahl der Einträge im Vorgang-Array. Ich würde auch annehmen, dass $AnzahlTermine identisch ist mit count($arrDay[$myUser][$Datum]['Vorgang']

Alle Annahmen sind so, wie Du sie annimmst.

Und damit würde ich das, was ich da sehe, so formulieren:

while (...):

   $filler = str_repeat("<br>", max(0, $AnzahlTermine - 1));
?>
   <?= $filler ?>
   <span class='rot1b'><?= $arrDay[$myUser][$Datum]['DaySum']?></span>
<?php

endwhile;

Update: alternative Kontrollstrukturen verwendet, echo vermieden.

Naja, Rolf. Selbst wenn Dein Code läuft und besser ist als meiner: Ich wüßte gerne, warum meiner nicht läuft, er scheint mir logisch zu sein.

Es ist übrigens eher nicht nötig, die Positionierung mit <br> durchzuführen. Man kann auch über CSS erreichen, dass die Summe am unteren Rand der Zelle steht, die Du da ausfüllst. Für eine Tabellenzelle gibt's die vertical-align:bottom Eigenschaft. Bei einem Grid kann man auch mit align-items bzw. align-self arbeiten.

Alles richtig.
Trotzdem bringt es mir als Fragesteller oft mehr, die vermeintliche Logik mienes Codes als unlogishc zu erkennen, als eine fertige und wunderbare Lösung zu erhalten. Deshalb neben 1000Dank auch nochmal die Frage, warum denn mein Code nicht das macht, was ich erwarte. Nämlich die Tagessumme immer ausgeben, mal mit ein paar Zeilenumbrüchen vorher und mal ohne Selbige.

Jörg