Skocz do zawartości
  • Dołącz do społeczności!

    👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Paginacja wyników z bazy danych


KRZYSZT0FSLENDER

Pytanie

Opublikowano

Tak jak w temacie potrzebuje przy wyświetlaniu zrobić tak aby po pobraniu rekordów z bazy danych wyświetlić je w formie zakładek takie coś jak ma google w swojej wyszukiwarce tylko że mi to będzie potrzebne do systemu supportu aby po prostu to ładniej wyglądało a nie jest np. 300 rekordów i trzeba przesuwać listę do dołu chodzi mi o to aby to było wyświetlone w zakładkach ale też aby tych zakładek nie było nieskończoność tylko liczba rekordów /10(To do wyboru 10 / 25 / 50) a jak się nie podzieli to z reszty tworzona jest dodatkowa zakładka 

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano
Dnia 31.10.2018 o 07:37, slepiec68 napisał:

Albo jak danych nie jest jakos kosmicznie duzo (bo na ladowanie przez ajax jeszcze dla Ciebie - bez urazy - za szybko) to poczytaj o DataTables

To jest ukryta treść, proszę

A kto mu każe używać ajax. Przecież może po prostu zmieniać parametry w linku, tak jak to ma miejsce, wciąż, na wielu stronach.

Opublikowano

Albo jak danych nie jest jakos kosmicznie duzo (bo na ladowanie przez ajax jeszcze dla Ciebie - bez urazy - za szybko) to poczytaj o DataTables

To jest ukryta treść, proszę

Lepiej jest nie odzywać się wcale i pozwolić ludziom myśleć, że jesteś glupi, niż odezwać się i rozwiać wszelkie wątpliwości.
Mark Twain

Opublikowano

...ale wtedy paginacja z datatables traci sens.

Wstepne zalozenie jest wczytac wszystko a skrypty zrobia reszte (paginacje, szukanie, sortowanie), ale przy kilkunastu/kilkuidziesieciu tysiacach rekordow nie bedzie juz tak rozowo i trzebaby uzyc ajaxa do zaczytywania danych dla podstron

 

Lepiej jest nie odzywać się wcale i pozwolić ludziom myśleć, że jesteś glupi, niż odezwać się i rozwiać wszelkie wątpliwości.
Mark Twain

Opublikowano

Ale co ty się uwziąłeś na datatables, przecież rekordy pobrane na podstawie GET'a można sobie wyświetlić w zwykłej tabeli, a pod nią wylistować buttony do przechodzenia na kolejne strony, bez użycia datatables i ajaxa - wiadomo, że nie jest to rozwiązania najbardziej user-friendly, ale sprawdzi się również przy większych ilościach danych, a jednocześnie jest bardzo proste do wykonania.

Opublikowano

@carbonx

Nie uparlem, tylko podpowiedzialem jako rozwiazanie w przypadku malej ilosci danych/podstron.

Majac na uwadze ten temat i wczesniejsze posty autora to jedyne IMHO sensowne rozwiazanie w/w problemu - 1-linikowe.

Do zrobienia prostej paginacji musi rozbudowac swoj warsztat (co jak widac robi :)

Lepiej jest nie odzywać się wcale i pozwolić ludziom myśleć, że jesteś glupi, niż odezwać się i rozwiać wszelkie wątpliwości.
Mark Twain

Opublikowano

@slepiec68 a nawet co do tego mówisz że to rozwiązanie nie jest dla ogromnej liczby rekordów z bazy danych to samo wyklucza takie coś mi jest potrzebne do dużej liczby rekordów żędu kilku lub kilkunastu tysięcy a nie do kilku set a poza tym szukam rozwiązania które będzie w stanie obsłużyć zarówno kilkadziesiąt rekordów lecz aby też mogło dobijać do tysięcy i aby nie było ograniczane a tym AJAX'em postaram się zainteresować może coś wyklepie z tego lecz na razie php umiem owiele lepiej niż JS i AJAX

Opublikowano

1. Korzystając z HTTP GET ustawiasz sobie parametr o dowolnej nazwie, np. page

2. Sprawdzasz czy parametr page istnieje

  - jeśli tak to przypisujesz zmiennej page wartość parametru

  -w przeciwnym wypadku ustawiasz wartość zmiennej page na 1

3. Budujesz zapytanie SQL, w którym

  I. sortujesz rekordy od najnowszego do najstarszego

  II. Stosujesz LIMIT clause

To jest ukryta treść, proszę

  gdzie:

    { ilosc_wpisow_na_strone = n należy do N+

    { offset = ilosc_wpisow_na_strone * (page - 1)

    { row_count = ilosc_wpisow_na_strone

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...