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

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 03:53