Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP, MySQL, jQuery] Stronicowanie rekordów + zmiana kolejności
cafepl_com
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

Ostrzeżenie: (0%)
-----


Witam,

mam spory problem do rozwiązania, nad którym ślęczę już od kilkunastu ładnych godzin...

Otóż w swoim małym CMS mam coś takiego jak lista wszystkich artykułów. Przy dużej ilości artów, są one stronicowanie. Można również zmieniać ich kolejność poprzez jquerową funkcję sortable. Dotychczas wszystko działało OK, do czasu aż nie wykryłem problemu związanego ze zmianą kolejności np. na 3. stronie wyników z artykułami.

Kiedy sortuje się artykuły np. na 1. stronie wyników, JS wysyła do pliku PHP odpowiedzialnego za zmianę kolejności w bazie tablicę z ID artykułów, poukładanych w takiej kolejności, jak użytkownik to uczynił. Przy sortowaniu artykułów na stronie, gdzie jest 15 wyników, w polu "kolejnosc" każdego z artykułu o ID z tablicy aktualizowana jest wartość, i tak aktualizowanych jest 15 rekordów (w polu "kolejnosc" znajdują się zatem liczby od 1 do 15).

Problem jest np. na 2. stronie, gdyż sortowanie odbywa się w ten sam sposób i znowu aktualizowane są rekordy liczbami od 1 do 15, przez co w ostatecznym sortowaniu wszystkiego - kolejność artykułów jest całkowicie pomieszana.

Czy jest jakieś racjonalny sposób, aby to naprawić?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to jak jestes na drugiej stronie to zacznik aktualizować w bazie od numeru 16 a nie 1
Jak na 3 to 31 itd..


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
cafepl_com
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

Ostrzeżenie: (0%)
-----


Dziękuję za niemalże natychmiastową odpowiedź.

Problem niestety nie został rozwiązany.
Kiedy dodaję nowy artykuł, w polu kolejnosc znajduje sie domyślna wartość 0. W momencie, kiedy dodałem np. 18 artykułów, wszystkie rekordy mają kolejnosc=0.
Kiedy zaś posortuję wyniki na 1. stronie, 15 rekordom z listy zostaną przyporządkowane liczby od 1 do 15, a pozostałe 3 rekordy będą miały kolejnosc=0. Biorąc pod uwagę, że artykuły sortuję przez kolejnosc ASC - 3 rekordy przesuną się na górę...

Ten post edytował cafepl_com 20.01.2011, 21:27:56
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To zamiast domyslnej wartosci 0 zrob domyslną wartosc 1000000


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpion
post
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Najlepiej by było gdybyś napisał sobie trigger, który automatycznie aktualizowałby numerowanie artykułów przy dodawaniu/edycji/usuwaniu jednego z nich.
Go to the top of the page
+Quote Post
cafepl_com
post
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

Ostrzeżenie: (0%)
-----


OK, problem rozwiązałem. Nie ukrywam, że bardzo przydała się podpowiedź nospora.
Bardzo panom dziękuję za odp. Pozdrawiam!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:36