Mailinglisten-Archive |
> ich hab nich gnaz verstanden was du mit "Anfang und Ende" der > Datensätze meinst. > Aber du kannst erstmal deine Datensatznummer durch $MaxRows teilen, > dann hast du die "Seitennummer" (eine Seite hat bei dir ja immer > $MaxRow Zeilen). > Wenn du die Datensatznummer modulo $MaxRows nimmst, dann hast du die > Zeilennummer auf der Seite. > Anfang ist 1 bis 20, etc 0 bis 20, 21 bis 40, 41 bis 60 etc. Ende ist $total-20, etc 614 bis 634, 594 bis 613, 574 bis 612 etc. Id 387 / 20 = 19,35 ??? Pos ??? Ich generiere mir die Navigation ungefaehr so: if (!isset($Pos)) $pos = 0; $posnext = $Pos + $MaxRows; $posprev = $Pos - $MaxRows; "Select * ... Where Bedingung(sort) LIMIT $Pos, $MaxRows" Dummerweise ändert sich die pos je nach Select Bedingung, also muß doch zur Umwandlung einer gegebenen ID (zb 387) eine etwas komplexere mathematische Formel herhalten, als nur die ID durch MaxRows zu teilen.... Das ganze ist imm übrigen für ein Admin Formular, in dem jedes der angezeigten Datensätze die id und die pos an ein Formular übergibt. An sich ja nix besonderes, aber eine extra Suchfunktion holt mir nur ganz bestimmte Datensätze aus der DB, deren ID wieder zum Formular führt. Nach Formular Ende soll aber die Ausgabe mit der korrekten pos genau da erscheinen, wo sie auch unter normalen Umständen wäre, also entweder von Vorne oder vom Ende her eingelesen. Dafür brauche ich die Umrechnung. Weitere Ideen ?? Christoph
php::bar PHP Wiki - Listenarchive