![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Do tej pory wyświetlałem dane bez problemów, teraz jednak wymyśliłem sobie wyszukiwarkę i mam problemy ze stronicowaniem wyników. Pobierałem wyniki tak:
W wyszukiwarce, jeżeli ustalę np. 10 wyników na stronę, to kolejne strony są puste, mimo, że jest więcej wyników wyszukiwania. Są jakieś sposoby, żeby "pamiętać" dane do wyszukiwania w sposób efektywny? Moje zapytanie:
Strony zapamiętuję w sesji. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Może czas na sesje? (IMG:style_emoticons/default/winksmiley.jpg) Dane z wyszukiwarki też do sesji i po problemie.
Ten post edytował thek 19.01.2010, 20:28:08 |
|
|
![]()
Post
#3
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Całe wyniki? Nie łapię ;p
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie całe wyniki (IMG:style_emoticons/default/winksmiley.jpg) Żebyś przechowywał w sesji którą "porcję" danych bierzesz (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#5
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Hmm, strony mam tak:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Po co sesje do tego? Rozwiązania są dwa:
1. Jeżeli zależy Ci na historii wyszukiwania, statystykach itp. to i tak to wrzucasz do bazy, co nie? Potem wystarczy dodać do porcjowania id, pod którym będą zapisane szukane kryteria, np. index.php?szukaj=4844&a=2 - strona druga. Rozwiązanie to ma także tą zaletę, że można zapamiętać w linkach wyniki wyszukiwania dla danych kryteriów. W bazie możesz przechowywać np. 10k ostatnich wyszukiwań. 2. Zapamiętać kryteria w ciachu, ja używam ciacha do poprawienia funkcjonalności, np. zapamiętywania numerów stron (gdy user kliknie powrót to jest tam, gdzie był a nie znowu na głównej), tutaj też się idealnie nada, bo jak ktoś ma wyłączone cookies to najwyżej nie zobaczy pozostałych stron wyszukiwania, przed czym łatwo się zabezpieczyć wysyłając mu komunikat. |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tutaj o tym pisałem
http://nospor.pl/formularz-i-stronicowanie...-stanu-n26.html |
|
|
![]()
Post
#8
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No właśnie... Problem w tym, że nie bardzo wiem, jak się do tego zabrać. Link mam taki:
index.php?page=szukaj&opcja=tytul&fraza=trąbka ale w następnych stronach: index.php?page=szukaj&s=2 Kiedyś Twój artykuł czytałem, ale zrobię to ponownie, może coś "zjarzę" ;p EDIT: Jeżeli mój formularz wyglądał tak:
To teraz, jak rozumiem, powinien wyglądać tak: (IMG:style_emoticons/default/questionmark.gif)
Jak przechwycić to z radio? Ten post edytował Kshyhoo 20.01.2010, 10:52:49 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Najprostsza wersja to "weź i zapamiętaj w sesji co masz pod tytul i fraza" (IMG:style_emoticons/default/smile.gif) Te dane potem z sesji przekaż do zapytania ze zmienionym już page pobranym z GET (IMG:style_emoticons/default/winksmiley.jpg) Możliwości jest wiele. Ja choćby zmienne z sesji w ten sposób przerobiłem do formy, która tworzy wyszukiwarkę SEO-friendly linków, a z kolei znajomy zrobił cały serwis jako niejawne wywołanie wyszukiwarki. Po prostu linki w całym serwisie to tak naprawdę front na silnik wyszukiwawczy. Link z kategorii czy czegokolwiek to po prostu rozbicie na parę klucz => wartość, co po stronie silnika ładnie tworzy odpowiednie zapytania do bazy.
|
|
|
![]()
Post
#10
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No dobra, w sesji. Zrobiłem tak, jak w przykładzie nospora, i nie przesyła mi do sesji.
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Zrobiłem tak, jak w przykładzie nospora, i nie przesyła mi do sesji. No popatrz, a mi przesyła (IMG:style_emoticons/default/smile.gif) Sorki, ale juz nie raz slyszalem: zrobilem tak jak on, ale mi nie dziala.... A po pokazaniu kodu okazalo się, ze jednak nie zrobił dokładnie tak jak on (IMG:style_emoticons/default/winksmiley.jpg) pokaz kod |
|
|
![]()
Post
#12
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Wydaje mi się, że $_POST['oursubmit'] jest pusta (IMG:style_emoticons/default/winksmiley.jpg) , bo:
Cytat POST: Array ( [go] => szukaj [opcja] => [fraza] => aaa [oursubmit] => ) Cały kod:
Nie wiem też, czy tak mogę "zapodać" z radio? Ten post edytował Kshyhoo 20.01.2010, 12:04:39 |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no bo dla submita nie nadałeś wartosci: value=""
Skoro tak sie bronisz z tą wartością to zamiast: if (!empty($_POST['oursubmit'])) daj: if (isset($_POST['oursubmit'])) Widzisz, nie zrobiłeś dokładnie tak samo jak ja (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
A no tak. To dlatego, że mam graficzny przycisk i napis wyłazi (IMG:style_emoticons/default/winksmiley.jpg) No teraz:
Cytat POST: Array
( [go] => szukaj [opcja] => [fraza] => aa [oursubmit] => ) SESSION: Array ( [form] => Array ( [autor] => [tytul] => [tresc] => [fraza] => aa ) ) |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no ale do sesji zapisujesz z forma rzeczy, ktorych w formie nie ma, takie jak: autor, tresc, tytul.
Ty nie wymagasz za duzo od kodu co napisalem? Myslisz ze sam z siebie dorzuci ci pozostałe pola? (IMG:style_emoticons/default/winksmiley.jpg) ps: aa, widze ty to probujesz w dziki sposob w radio przekazac poczytaj najpierw jak zachowuje się pole RADIO bo widzę nie rozumiesz tego. |
|
|
![]()
Post
#16
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Hmm, wciąż mam [oursubmit] => puste, nie wiem, dlaczego.
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no bo dla oursubmit nie przekazałeś wartosci. dlatego kazałem ci zamienic warunek na isset()
|
|
|
![]()
Post
#18
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No i super. Jeszcze jakis problem? Jak tak to od razu pisz a nie zmuszasz nas do dopytywania ciebie.
A jak już nie ma problemu to też napisz: dziękuję (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#20
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Ale ja zmieniłem wcześniej i dalej mam pusto ;( Googluję na ten nieszczęsny radio... Teraz mam tak:
i nadal pusto ;( Ten post edytował Kshyhoo 20.01.2010, 13:35:32 |
|
|
![]()
Post
#21
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No bo radio to nie input text i zachowuje się zupelnie inaczej...
|
|
|
![]()
Post
#22
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Test wykazał:
Cytat POST: Array ( [go] => szukaj [opcja] => 1 [fraza] => aaa [oursubmit] => SESSION: Array ( [form] => Array ( [fraza] => aaa [opcja] => ) ) I wyniki puste... |
|
|
![]()
Post
#23
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no bo bez namyslu skopiowales...
Z rozpedu zostawilem stary kod nie: if (!empty($_POST['oursubmit'])) { a: if (isset($_POST['oursubmit'])) { Mysl trochę nad kodem co dostajesz (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#24
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Nadal pusto:
Cytat POST: Array
( [go] => szukaj [opcja] => 1 [fraza] => bbb [oursubmit] => ) SESSION: Array ( [form] => Array ( [opcja] => 1 [fraza] => bbb ) ) |
|
|
![]()
Post
#25
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no jak pusto? Juz w sesji masz to co masz miec.
|
|
|
![]()
Post
#26
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No mam to, co wkleiłem... Yyyyy, no tak, nie mam w bazie 0, 1, 2, tylko autor, tytul i tresc (IMG:style_emoticons/default/winksmiley.jpg)
Ten post edytował Kshyhoo 20.01.2010, 14:00:32 |
|
|
![]()
Post
#27
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Yyyyy, no tak, nie mam w bazie 0, 1, 2, tylko autor, tytul i tresc No ale chyba juz sam wiesz jak to poprawic?
|
|
|
![]()
Post
#28
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Nie bardzo. Wiem, jak zmienić wartości:
Ale potem... (IMG:style_emoticons/default/sciana.gif) Kurde, chyba znalazłem: current Chyba nie! Pobiera pierwszą wartość tablicy. Ten post edytował Kshyhoo 20.01.2010, 15:26:51 |
|
|
![]()
Post
#29
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A sprawdzałeś chociaż co uzyskasz poprzez wywołanie $gdzie[0], $gdzie[1]? Nie rób z siebie głupszego niż jesteś (IMG:style_emoticons/default/winksmiley.jpg)
EDIT: Current pobiera wartość tablicy ustawioną pod aktualnym wskaźnikiem tablicy. Niekoniecznie pierwszym... Ten post edytował thek 20.01.2010, 15:29:22 |
|
|
![]()
Post
#30
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Nie rób z siebie głupszego niż jesteś (IMG:style_emoticons/default/winksmiley.jpg) Jeżeli chciałeś mnie obrazić, to dobrze trafiłeś. To, że jestem raczkujący w php nie oznacza, że nie umiem sprawdzić co dostaje z tablicy... |
|
|
![]()
Post
#31
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Jeżeli chciałeś mnie obrazić, to dobrze trafiłeś. Widac nie zalapales grypsu theka. Przeczytaj jego tekst jeszcze raz na spokoknie.Swoją drogą naprawdę mógłbyś patrzeć co piszesz a nie strzelasz po omacku. Nie dziw się, ze ludzie zaczynają powoli żartować sobie. |
|
|
![]()
Post
#32
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No tak, niby wszystko ok, a wyniki wyszukiwania puste...
|
|
|
![]()
Post
#33
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czy ja za kazdym razem muszę pisac:
"pokaż kod" ? |
|
|
![]() ![]()
Post
#34
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Sorry Winetu, kod całej szukajki:
EDIT: Niby wszystko ok, ale wyszukiwanie nie działa poprawnie... Ten post edytował Kshyhoo 21.01.2010, 10:09:45 |
|
|
![]()
Post
#35
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w zapytaniu korzystasz ze zmiennej $fraza, ale nigdzie wczesniej do tej zmiennej nic nie przypisujesz (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#36
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Masz rację (jak zawsze). Jakimś cudem skrypt pobiera sobie frazę z $_SESSION['form']['fraza'];. Skrypt zachowuje się dziwnie, po wpisaniu frazy "Adam" w tytuł, nie znajduje jej, chociaż taka fraza istnieje. Po zmianie opcji na treść, znajduje frazę - po wybraniu opcji tytuł, już znajduje frazę "Adam".
Jak wykonać przycisk "Nowe szukanie", który czyści opcje szukania? Zerować sesję? |
|
|
![]()
Post
#37
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#38
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
|
|
|
![]()
Post
#39
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie
|
|
|
![]()
Post
#40
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Generalnie, to już w miarę chodzi. Wyszukuje i stronicuje dobrze. nie wiem tylko, jak miałbym zrobić usuwanie z sesji numeru strony, w przypadku nowego szukania. Formularz mam wyświetlony cały czas.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 14:34 |