Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> LIMIT 350,20? A może coś innego?
msulik
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 31.03.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Wstęp: Napisałem skrypt do wyszukiwania w bazie danych. Skrypt ten umożliwia zaawansowane wyszukiwanie rekordów według kilku skomplikowanych kryteriów. Spodziewam się, że dość szybko ta baza osiągnie ponad tysiąc wpisów.

Problem: Przypuśćmy, że ktoś wpisał do bazy zapytanie, które zawiera zaawansowane opcje wyszukiwania włączając w to zagnieżdżone nawiasy, operatory logiczne itp. Zapytanie to zwróciło okolo 500 rekordów. Jasną rzeczą jest, że nie wypiszę tych wszystkich 500 wyników na jednej stronie, tylko powiedzmy w porcjach po 20.

Pytanie: Jak zrobić, żeby porcjować te wyniki bez ponownego wysyłania zapytania. Tzn. nie chcę stosować, powiedzmy,
Kod
SELECT * FROM moja_tabela WHERE (pole = 'abc' AND ...................) LIMIT 350, 20
bo to powoduje ponowne przetworzenie zapytania (co zajmuje czas!), a następnie obcięcie go do zaledwie 20 wyników. Jak to zrobić? Czy wysyłać cookie z numerami wyników, czy może przekazywać parametry w url'u, czy ewentualnie "spakować" te numery?

Rozwiązanie przez cookie albo url wydają się być nierealne, zważywszy na ilość potencjalnych rekordów do zwrócenia (przy 1000 wynikach rozmiar ten wyniesie około 3000 bajtów, co zniechęci do dalszych poszukiwań).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
GeoS
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

Ostrzeżenie: (0%)
-----


To ja innego rozwiazania niestety nie widze :-(

Niby jak to by miało wyglądać? Nie da sie sprawdzic, od którego wiersza miałoby zwracać wyniki i ile tych wierszy miałoby być pobieranych, w inny sposob niz z LIMITem.

Ja innej koncepcji nie mam :-(
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 19:26