PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rechenproblem


marc26
25.04.2006, 06:34:32
Also habe gerade einen Kopfknoten:

Ich möchte wissen wieviele Datensätze aktuell auf einer Seite angezeigt werden und dafür brauch ich eine Mini-Formel:

Was ich kenne:

Gesamtzahl aller Datensätze: $totalRows
Maximale Datensätze pro Seite: $maxRows
Seitenzahl, d.h. ich bin auf Seite: $pageNum

Rechenaufgabe:

Ich habe 8 Datensätze insgesamt, ich weiss, dass immer max. 3 Datensätze pro Seite ausgegeben werden und ich bin gerade auf Seite 3. Wenn ich nicht nur doof, sondern auch blind wäre - wie könnte ich errechnen, dass im Ergebnis auf Seite 3 nur noch die restlichen 2 Datensätze angezeigt werden?


$totalRows = 8;
$maxRows = 3;
$pageNum = 3;
$result = ???


1000 Dank, Marc

tsunamitsunami
25.04.2006, 10:15:19
Hy,
ich galube Dein Zauberwort heißt limit. Limit schrängt die Ausgabe der Datensätze ein. Also select ... limit(5,3); Zeigt 3 Datensätze ab DS 5 an;
Anzahl der Datensätze durch Anzahl der Elemente pro Seite ergibt die Anzahl der Seiten. Anfangs $page auf 1 setzten. Danach, auf Seite 2 ist $page=2; Danach limit ($page mal anzahlpro Seite,elemente proseite);
Bsp:
$page=1;
$ElementeproSeite=5
Zeige die nächsten 5 Elemente ab position1.
limit(1,5)
Danach geht $page auf 2;
$ElementeproSeite=5;
1 mal 5 = 5 => neue startposition;
limit(5,5)
.
.
limit(10,5)
....
Gruß
tsunamitsunami

Reinfi
25.04.2006, 10:17:09
$result = $pageNum * $maxRows;
if( $result > $totalRows ) {
$result = bcmod($totalRows,$maxRows);
}
else {
$result = $maxRows;
}