Ich habe eine einfache XML-Liste mit Datumsangaben (chronologische Reihenfolge). Ich habe einen Weg gefunden, die Liste 7 mal (1 Woche) zu durchlaufen.Wie schleife ich eine Liste basierend auf dem aktuellen Tag?
<?php
$xmldata=simplexml_load_file("dates.xml");
$i = 0;
foreach($xmldata->day as $day) {
if($i==7) break;
$i++;
echo "<p>Date: " . $day->date . "</p>";
echo "<p>Dayname: " . $day->content . "</p>";
}
?>
Jetzt habe ich das Problem, dass die Schleife immer in der ersten Zeile der Datei XML beginnt und endet nach 7 mal. Aber ich mag die Schleife beginnen, wenn
$xmldata->day->date = $currentday;
$currentday = date('d.m.y');
und mit den nächsten 7 Punkten (Tage) in der Liste fortsetzen.
Die XML (dates.xml) sieht wie folgt aus:
<schedule>
<day>
<date>01.03.17</date>
<information>Lorem ipsum</information>
</day>
<day>
<date>02.03.17</date>
<information>Lorem ipsum</information>
</day>
<day>
<date>03.03.17</date>
<information>Lorem ipsum</information>
</day>
...
</schedule>
Thank you!
So hinzufügen, bevor 'if ($ i == 7) break;' 'dieses if (! $ Tag-> date = date ('DMY')) fortzusetzen; ' – JustOnUnderMillions
Ok cool. Ich tat dies. Jetzt bekomme ich nur den Wert von heute. Was ziemlich gut ist, aber die anderen 6 Tage in der Schleife fehlen. Es scheint wie 'wenn ($ i == 7) zu brechen; $ i ++; 'wird ignoriert. – Filip
ok, kleine Sauerei, warte – JustOnUnderMillions