Auge: php mysql auf nächsten Datensatz zugreifen

Beitrag lesen

Hallo

mit dem "erstmal alles in ein array einlesen" komme ich schon besser klar, da ich nun alle Datensätze zur Verfügung habe.

Wenn es denn mit einem aus der Ergebnismenge erzeugtem Array alufen soll …

Mit den PHP-Funktionen prev, next, current hoffe ich das es klappt.

Mit diesen Funktionen wechselst du hart von einem auf den vorherigen oder nächsten Arrayeintrag. Das heißt, du schaust nicht vom momentanen Eintrag aus auf den vorherigen oder nächsten Eintrag, sondern du verlässt den momentanen Eintrag und machst den vorherigen bzw. nächsten Eintrag zum momentanen.

Was du machen kannst, ist, das Ergebnis zeilenweise in ein Array zu überführen (was du wohl jetzt schon machst) und dabei das Datum des jetzigen Eintrags zum vorherigen Eintrag hinzuzufügen. Wie dedlfix schon schrieb, musst du dabei darauf achten, dass du nicht versuchst, das Datum bei einem Eintrag vor dem ersten oder nach dem letzten Arrayelement einzubauen.

Möglich wäre, das Datum in den vorherigen Datensatz einzufügen und dabei die erste Zeile (0) auszulassen. Mit diesem System hätte die letzte Zeile natürlich kein Datum eines nächsten Eintrags, auch nicht als Arrayfeld.

$i = 0;
while ($row = $result->fetch_assoc()) {
    // Kram mit Array, z.B.
    $array[$i]['datum'] = $row['createDate'];
    // wenn wir nicht in der ersten Zeile sind …
    if ($i > 0) {
        // … füge das Erstellungsdatum des momentanen Datensatzes als eigenes Feld an die vorherige Zeile an
        $array[$i - 1]['datumNext'] = $row['createDate'];
    }
    $i++;
}

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, “Wachen! Wachen!