![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Szukam jakiegoś tutariala lub podpowiedzi. Chcę pobrać z bazy danych wszystkie dane dotyczące usera tj np: imie nazwisko wojewodztwo miasto zainteresowania Jak już je pobiorę to w pętli while {} wyświetlę dane wszystkich userów jeden pod drugim w <div></div> Szukam odpowiedzi jak filtrować te wyniki za pomocą checkboxów. Tzn mam po lewej stronie checkboxy np: [ ] sport [ ] muzyka [ ] hodowla jeży ... itd Po zaznaczeniu checkboxa przy sport wyświtli tylko tych, przy których napisane jest "sport" (wywołane z bazy). Wiem jak to zrobić za pomocą Ale takich warunków byłoby milion (oczywiście w przybliżeniu... ![]() Z pomocą na pewno przyjdzie JavaScript, być może JQuery, ale nie wiem gdzie szukać tutorialu jakiegoś przystępnego.. Dzieki za odpowiedź |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Najzgrabniej byłoby to zrobić Ajaxem. Przyjemnie byłoby, gdyby lista odświeżała się bez przeładowywania całej strony.
Nie wiem jak wygląda Twoja wiedza z PHP/jQuery/Ajax, ale taka wyszukiwarka to nie jest aż tak banalna sprawa, choć ultratrudna też nie. Działałoby to tak:
Jednak sądząc po Twoim poście, nie masz wystarczających umiejętności, żeby to zrobić. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jednak sądząc po Twoim poście, nie masz wystarczających umiejętności, żeby to zrobić. Umiejętności mam wystarczające, żeby przefiltrować wyniki w php tylko to generuje ogromną ilość zapytań i zależności. Z ajaxem sobię poradzę, ale nie zależy mi specjalnie na tym, żeby mi się strona nie odświeżała... Nie zadałem pytania "jak to zrobić, żeby się nie odświeżała strona" tylko jak to zrobić, żeby uprościć kod. Ajax prowdzi do tego, że i tam muszę te wszystkie zapytania napisać w zależności od wciśniętego checkboxa, także niestety Twoja podpowiedź nic nowego nie wniosła do tematu, który być może po prostu źle sformułowałem. A może wiesz zatem (lub wiecie) jak filtrować po wyświetlonych słowach? Java na 100% może zrobić coś takiego, że po kliknięciu checkboxa dać display:none; dla wszystkich divów, które zawierają dane słowo (value przesłane z checkboxa) ![]() Szukam czegoś, co pomoże mi zbudować taki skrypt. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Chcesz to zrobić bez udziału serwera? Taki interfejs użytkownika działałby wspaniale, ale pod jednym warunkiem: że tych użytkowników nie będzie zbyt wielu. Przy kilkuset wynikach słabsze komputery mogą już się krztusić.
Jakie liczby użytkowników wchodzą u Ciebie w grę? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tego nie wiem, powiedz co jeśli będzie ich 10, co jeśli 100, a co jeśli 1000?
Zachłystnie się tylko podczas pobierania danych, a później to już poleci na JQuery - tak myślę. Z drugiej strony dane to po prosu pojedyncze słowa, mam podstrony, na których wywołuję na raz kilkaset wyników z bazy za pomocą while i wszystko dzieje się w ułamku sekundy (nie mam AlienWare tylko starego HP'ka Presario sprzed kilku lat ![]() Powiedzmy, że będzie 1000 użytkowników i ok. 15 danych do wyświetlenia dla każdego z paginacją po 20 na stronie. Jak Twoim zdaniem się to będzie przedstawiać? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zachłyśnięcie niestety dotyczyć będzie nie samego wczytywania danych, ale właśnie operacji na drzewie. 1000 elementów to jest moim zdaniem nieco za dużo, żeby trzymać wszystkich lokalnie. Paginacja paginacją, ale zauważ, że filtrowanie musi odbywać się na wszystkich wynikach, również tych niewidocznych. Dla spokojniejszej głowy zrobiłbym to Ajaxem, a w drzewie na stronie trzymał tylko to, co pasuje do kryteriów wyszukiwania. Tym sposobem będziesz też spokojny, że system będzie nadal działał jak użytkowników będzie przybywać.
Czyli podsumowując potrzebowałbyś:
Ten post edytował SmokAnalog 28.11.2013, 16:48:01 |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
No ok, coś pomyślę. Mimo wszystko przeraża mnie fakt, że jak będę miał np. 5 checkboxsów to powstanie ponad 20 potencjalnych kombinacji i dla każdej trzeba dać inne zapytanie... Teraz pomnóż sobie razy np 4 - 5 fieldsetów po 5 checkboxów = ponad 100 zapytań w najlepszym wypadku!!! (o ile mi nie przyjdzie do głowy rozbudować forma...)
![]() |
|
|
![]() ![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To nie jest aż tak skomplikowane jak się wydaje, kolego. W składni MySQL jest takie fajne słówko kluczowe jak IN, na przykład:
To oczywiście uproszczony przykład, bo takie rzeczy jak zainteresowania czy województwa będziesz pewnie trzymał w osobnej tabeli, ale to żaden problem. ![]() Mam nadzieję, że dodałem Ci trochę otuchy ![]() Ten post edytował SmokAnalog 28.11.2013, 17:11:38 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
No nie ukrywam, że mi pomogłeś
![]() Dzięki, miłego wieczoru |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.05.2025 - 07:04 |