Tach!
Nach dem vollständigen Durchlauf der Schleife steht in
$row
immer der letzte Datensatz. Soll heißen, Dein Problem existiert eigentlich gar nicht.Nein, da steht ein false drin, sonst könnte
while
nicht bremsen.
Stimmt. Du hast Recht. Lösung:
while ( $row = … ) {
…
$lastRow = $row;
}
Dann stehts in $lastRow
.
2. Lösung: Man kann auch mitzählen. mysql[i]_nun_rows liefert ja die Anzahl der "Ergebniszeilen" und dann:
$c = 0;
# $l = mysql_num_rows( $result );
$l = $result->num_rows;
while ( $row = … ) {
…
$c++;
if ( $l == $c ) {
$lastRow = $row;
}
}
bei vielen/großen Feldern (Spalten) im Resultset könnte das Mitzählen billiger sein als das die Übernahme in eine weitere Variable.
3. Lösung:
Die abgefragten Datensätze enthalten womöglich eine ID oder eine unique Spalte, nach der laut Abfrage auch sortiert ist. Einfach merken, was bei mysqli_fetch_assoc
rauskommt.
while ($row = $result->fetch_assoc()) {
…
$lastId = $row['ID'];
}