Hi,
IMHO brauchst Du den count, und die Position des Datensatzes im Resultset.
Um dann mit dem Offset und Limit die richtige Seite zu öffnen.

Vielleicht hilft Dir dieser Thread:
http://forums.mysql.com/read.php?20,126556,126556#msg-126556

Google-Suche: find, position, resultset, mysql (wenn Du überhaupt mysql
benutzt)

Besten Gruß

Jan


Am 29. Oktober 2008 14:23 schrieb Michael Kastner <[EMAIL PROTECTED]>:

> Hallo Jens,
>
> eleganter wäre schön.
>
> Darum geht's: Der Nutzer erhält als Ergebnis einer Produktsuche eine
> Ergebnisliste von Produkten. Er kann eines der Produkte anklicken und
> gelangt zur Detailseite. Und von dort soll er die Möglichkeit haben zu
> "normalen" Produktliste mit der entsprechenden Seite zu navigieren (nicht
> zurück zur Produktsuche).
>
> Das Problem besteht darin, daß der Nutzer über die Suchergebnisliste auf
> die Detailseite gelangt und nicht über die paginierte Standardliste. Sonst
> wär's ja einfach ;-)
>
>
> Viele Grüße
>
> Michael
>
> Johannes Fahrenkrug schrieb:
>
>> Hallo Michael,
>>
>> das stimmt natuerlich!
>> Wozu brauchst du das denn ueberhaupt? Vielleicht kann man das ja
>> eleganter loesen.
>>
>> - Johannes
>>
>> 2008/10/29 Michael Kastner <[EMAIL PROTECTED]>:
>>
>>> Hallo Johannes,
>>>
>>> vielen Dank für Deine Idee. So ähnlich habe ich das auch schon für kleine
>>> Tabellen gelöst. Im aktuellen Fall betrifft es allerdings ein paar
>>> tausend
>>> Datensätze. Da ist dann so eine Schleife keine so gute Lösung.
>>>
>>> Viele Grüße
>>>
>>> Michael
>>>
>>> Johannes Fahrenkrug schrieb:
>>>
>>>> Hallo Michael,
>>>>
>>>> wenn du das nur ab und an verwendest, koenntest du diese Methode in
>>>> ein Modul packen, dass du in all deinen Modellen includest (ich gehe
>>>> davon aus, dass du will_paginate verwendest):
>>>>
>>>> def page_number
>>>>   page = 1
>>>>
>>>>   while true
>>>>     objects_on_page = self.class.paginate :page => page, :order =>
>>>> 'created_at DESC'
>>>>
>>>>     if objects_on_page
>>>>       return page if objects_on_page.include?(self)
>>>>     else
>>>>       return -1
>>>>     end
>>>>
>>>>     page += 1
>>>>   end
>>>>  end
>>>>
>>>> Das geht wahrscheinlich noch eleganter, aber die Page findest du so
>>>> auf jeden fall raus.
>>>>
>>>> - Johannes
>>>>
>>>> 2008/10/29 Michael Kastner <[EMAIL PROTECTED]>:
>>>>
>>>>> Hallo,
>>>>>
>>>>> ich habe hier ein ziemlich nerviges Problem, für das ich noch keine
>>>>> gute
>>>>> Lösung gefunden habe.
>>>>>
>>>>> Wie kann ich, wenn ich nur die Datensatz-Id zur Verfügung habe,
>>>>> herausfinden, auf welcher Seite einer Paginierung sich der Datensatz
>>>>> befindet?
>>>>>
>>>>> Viele Grüße
>>>>>
>>>>> Michael Kastner
>>>>>
>>>>> _______________________________________________
>>>>> rubyonrails-ug mailing list
>>>>> [email protected]
>>>>> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
>>>>>
>>>>>
>>>>>
>>>>
>>>>  _______________________________________________
>>> rubyonrails-ug mailing list
>>> [email protected]
>>> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
>>>
>>>
>>
>>
>>  _______________________________________________
> rubyonrails-ug mailing list
> [email protected]
> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
>



-- 
Jan Prill
Rechtsanwalt

Babendiekstraße 60 B
22587 Hamburg
Tel +49 (0)40 41265809 Fax +49 (0)40 380178-73022
Mobil +49 (0)171 3516667
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an