Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapamiętanie Wyników Wyszukiwania przy Powrocie na Strone
Forum PHP.pl > Forum > Przedszkole
scorpion10
Przyjmijmy że przez formularz HTML wyszukiwarki, otrzymałem w wyniku zapytania 4-ry rekordy i każdy z nich staje się linkiem po którego kliknięciu wyświetlają się na nowej podstronie, dokładne szczegóły czyli dodatkowe pola z bazy MySQL.
- Teraz zamykam tą podstronę ze szczegółami i chciałbym wrócić do poprzedniej strony z tymi wcześniej znalezionymi 4-ema rekordami i kliknąć na kolejny żeby zobaczyć jego szczegóły wyniku.
Niestety wszelkie history.back() itp. nie spełniają swojej roli bo otrzymuje DOKUMENT WYGASŁ.
Jak mogę to wykonać taką funkcjonalność, najlepiej z użyciem samego PHP, ale może być też ostatecznie java ?.
Czy można by zapamiętać jakoś w zmiennej sesyjnej cały wynik wyszukiwania z poprzedniej strony i wracać do tej poprzedniej strony z wyszukanymi wynikami po kazdym zamnięciu podstrony ze szczegółami ?
Z góry dziękuje za pomoc !
gino
Masz 2 wyjścia:
albo z linku otworzyć nową podstronę (lub okno) wtedy nie wracasz do strony z wynikami a tym samym nie odświeżasz formularza,
albo zobacz jak to robi google, przejmuje wyniki formularza i wrzuca je do adresu strony, czyli wysyła dane GET-em, wtedy powrót do strony z wyszukanymi rekordami nie przeładuje formularza bo go tam nie ma.
sadistic_son
Zakładam że miałeś na myśli JavaScript a nie Java;) To duża różnica. Oprócz powyższych rozwiązań zaproponowanych przez kolegę możesz też zapytanie, lub wyniki wyszukiwania wrzucić w cookies i przed każdym otwarciem strony z wynikami wyszukiwania sprawdzać czy jest cookies. To samo możesz zrobić w bazie ale to raczej nieoptymalne. Możesz też takie dane przechowywać w zmiennej sesji i to chyba najlepsze rozwiązanie.
scorpion10
pisząc java, pisałem w kontekście PHP i chodziło mi o javascript :-) Właśnie najbardziej skłaniałbym sie do użycia zmiennej sesji, ale potrzebuje, jakiegoś przykładu lub nakierowania, jak to zrobić. Jak zapamiętać w jeden zmiennej sesji, wynik, np. kilku znalezionych rekordów i jak wykorzystać to przy powrocie na poprzednią stronę i najlepiej żeby nie wykonywać ponownego zapytania do bazy po to by uzyskać ten sam wynik. Tworzenie tablic tymczasowych w mysql z wynikami, to tez chyba niezbyt dobry pomysł. Idealne było by coś na wzór includ-owania utworzonej strony z wynikami az do czasu zabicia sesji.
sadistic_son
Po prostu wrzuć wynik wyszukiwania do sesji. Kiedy masz w pętli wyświetlanie kolejnych rekordów wyniku wyszukiwania dodawaj je również do tablicy sesji przy każdej kolejnej iteracji.
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.