Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka na stronie, a podział wyników na strony
Forum PHP.pl > Forum > PHP
Grim90
Witam serdecznie,
Piszę stronę na własne potrzeby i aktualnie walczę z pewnym wyzwaniem, które okazuje być się silniejszym ode mnie, więc piszę tutaj, w nadziei, że ktoś pomocny nakieruje mnie na odpowiedni tor smile.gif

Konkretnie, wyszukiwarka treści działa niezawodnie, znajduje dokładnie to, co trzeba, wprowadziłem filtr szukania działów, oraz kryteriów wyszukiwań, wszystko działa za pomocą $_POST[xxx];.

Problem pojawił się w momencie, gdy postanowiłem stworzyć stronicowanie, czyli wyszukiwanie w stronach. O ile w przypadku pierwszych wyników, czyli od 1 do 10 działa świetnie, o tyle dalej przestaje szukać, bo jak się każdy domyśli, POST wygasł.

W związku z tym, czy ma ktoś pomysł, jak przechowywać dane poszukiwacza? Czy interakcja z MySQL jest tu jedynym wyjściem? A może da się inaczej przechować i użyć wartości?

Pozdrawiam serdecznie i z góry dziękuję za pomoc.
Ramzaa
Ja obstawiam na interakcję z MySQL, innego wyjścia raczej nie widzę, ale zaczekajmy na mądrzejszych smile.gif
Zyx
Dodaj sobie dwie tabele: zbiory wyników i powiązania. Przed rozpoczęciem wyszukiwania tworzysz zbiór wyników, nadajesz mu identyfikator oraz ew. możesz zapamiętać w nim kryteria wyszukiwania. Zapytanie wyszukujące zrzuca informacje do powiązań zbiór wyników <-> obiekt. Gdy już się wyszuka, robisz przekierowanie na prezentację wyników i tam między stronami przekazujesz jedynie ID zbioru wyników.
nospor
Pisałem o tym problemie na blogu
http://nospor.pl/formularz-i-stronicowanie...anie-stanu.html
Pilsener
Zapisywanie w sesji/ciastku ma jedną podstawową wadę: nie mamy linków z konkretnymi wynikami, nie wyślemy ich znajomym, nie jest to też dobre z punktu widzenia SEO. Najlepiej zapisywać kryteria szukania w bazie a w linku przekazywać tylko ID, np. strona.pl/szukaj,345,0.html a strona nr 2 to strona.pl/szukaj,345,2.html.
nospor
No ale przecież parametry wyszukiwania możesz spokojnie dodać do URL smile.gif
Zazwyczaj nie są to rozdzialy książek winksmiley.jpg
thek
Pilsener... Wyszukiwarka dobrze zrobiona na sesji potrafi być SEO-friendly smile.gif Ja przeanalizowałem możliwe kombinacje kryteriów wyszukiwawczych w jednym ze swoich serwisów i na podstawie tego tak napisałem silnik, że ich wybór prowadzi przez odpowiednie regułki htaccess, tworząc jak najbardziej przydatne SEO-linki smile.gif To kwestia pomyślenia i odrobiny fantazji a da się zrobić co chcesz. Kumpel poszedł jeszcze dalej... Cała nawigacja strony z działami, kategoriami, to jedna wielka wyszukiwarka danych serwisu. I oczywiście wszystko znów SEO-friendly.
Grim90
Dziękuję za odpowiedzi.

Wyszukiwarka oparta na sesjach jest łatwa i fajna, ale ma jeden problem - boty google nie indeksują wyników poprzez nią, po prostu nie obsługują jakoś sesji.

W związku z tym zastanowię się jeszcze nad wyborem, tymczasem dziękuję za pomoc.
Gdyby ktoś jeszcze miał jakąś propozycję, chętnie przeczytam.

Pozdrawiam serdecznie.
thek
Grim90... przecież już Pilsener zwrócił Ci uwagę na wadę sesji a nospor powiedział co zrobić. Należy przepchnąć kryteria wyszukiwania do adresu url jako parametry $_GET i wtedy zadziergają boty winksmiley.jpg Nawet będziesz mógł część pchnąć do sitemapy jeśli Ci się nudzi, a chcesz pomóc crawlerom.
Grim90
Ach, przepraszam, napisałem to z rozpędu. Fakt.

W porządku, bardzo dziękuję za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.