phpbar.de logo

Mailinglisten-Archive

[php] Errechne $pos aus $id

[php] Errechne $pos aus $id

php_(at)_phpcenter.de php_(at)_phpcenter.de
Sat, 9 Jun 2001 18:39:48 +0200


>   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