![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pewnien problem dotyczacy zwracania wynikow w paginacji, kod paginacji jest tu:(raczej samego przetwarzania)
Zapytanie wyglada nastepujaco: Problem polega na tym, iż dane sa zwracana na podstawie kategori a nie newsow. Czyli jak powinno byc $onpage = 10; newsow na stronie to wyswietla ich np 2 jesli sa 2 po 5 kategori w jednym. Jak przerobic to zapytanie by wyswietlal po newsach, a nie po kategoriach? Probowalem GROUP BY news_id lecz to nie w tym rzecz bo potem sa kategorie nie wyswietlane ..;/
Zauwazylem ze glowny blad jest w
bo przyrownuje jednego newsa (jedno id) do kilku kategori czyli tego samego id , tylko nie wiem jak to zmienic zeby bylo poprawnie..;/ Ten post edytował eminiasty 4.02.2016, 13:12:18 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
".$prefix."news.*,".$prefix."users.*,".$prefix."news_categories.*,".$prefix."categories.* już Ci mówiłem zastąp to *, bo to niczego nie daje a tylko zaciemnia wydłuża niepotrzebnie kod, czemu masz potrójnego joina?
Ten post edytował com 4.02.2016, 13:14:58 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
tzn? przeciez jest *? 1 join - z tabeli users wyciaga loginy(zeby byl wyswietlany potem)
2 join - potrzebny jest w sumie zeby zrobic 3 joina(chyba) , bo potrzebuje miec powiazanie z categoreis
3 join - nazy kategori sa trzymane w tabeli categories wiec musze je jakos pobrac? id kategori do newsa jest przypisywane w news_categories wiec stad chyba to potrzebne
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak ale cale to ".$prefix."news.*,".$prefix."users.*,".$prefix."news_categories.*,".$prefix."categories.*" wystarczyło by zapisać jako * i efekt jest ten sam, ok no to musisz jeszcze zgrupować te wyniki odpowiednio, poczytaj o group by (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
zaraz zaraz, z tego co widzę wyświetla te kategorie do których należą newsy, wiec jak nalezą do 2 np to nie wyświetli ich 5 przecież
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dokladnie, a powinno chyba je wyswietlac.
W sesnie ze jeden newst ma dwie kategorie to je wyswietla przy nim. nie osobno. To wyglada tak: bez grupowania (IMG:http://iv.pl/images/55276996056448780391_thumb.jpg) z grupowaniem (IMG:http://iv.pl/images/12197208131381307762_thumb.jpg) Chce zeby bylo jak na pierwszym tylko nie zliczalo po ilosci kategori na stronie tylko ilosci postow. Ten post edytował eminiasty 4.02.2016, 13:47:57 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
on niczego nie zlicza, bo dalej masz 10 rekordów tylko zgrupowanych wiec na stronie robi Ci się ich np 5. Policz sobie ile masz katergorii, bo tyle jest rekordów, czyli 10 (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ja wiem jak wyglada problem, nie umeim go tylko rozwiazac bo grupowanie nie dziala chyba..
To co mowisz jest prawda. Tylko nie chce zeby na pierwszej stronie bylo 5 a na drugiej juz 6 nesow, a na 3 juz 7 np. Prosze o pomoc w rozwiazaniu tej sytuacji. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
no to musisz ograniczyć wyświetlanie w inny sposób, powiedzmy przyjac pesymistyczny przypadek czyli 10xkategoria, a podział na strony zrobić w samym php (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
rzuca mi sie tylko slowo jak?
W ktorym miejscu takie ograniczegnia powinny byc umieszczone? to powinno byc zrobione w postaci ifa czy inaczej? Cytat no to musisz ograniczyć wyświetlanie w inny sposób, powiedzmy przyjac pesymistyczny przypadek czyli 10xkategoria czy chodzi ci o to aby ilosc wyswietlanych posotw na stronie podniesc np do 100? co w przypadku postow z kiludziesieciowam kategoriami zmniejszy liczebnosc? przeciez to nie rozwiazuje problemu, pozatym kazda strona bedzie zawiaerac inna liczbe postow to jest moje wyswietlanie:
Ten post edytował eminiasty 4.02.2016, 15:14:56 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
chodzi o to żeby pobrać x rekordów z bazy, a ograniczenie i podział na strony nie robić przez limit a poprzez ograniczenie w tablicy przy wyświetlaniu. Ale ze względu na to że rekordów może być sporo dlatego sugerowałem limit ilość kategorii razy ilość elementów, których niech jest 5 zamiast 10 np.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
ok ok
chodzi ci o wywalnie LIMIT $limit, $onpage tylko ze o to opiera sie paginacja ktora wyswietla newsy na kolejnych stronach. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak, i te paginacje zrób w php nie poprzez bazę, limit daj ale np 5 rekordów x 5 kategorii (IMG:style_emoticons/default/wink.gif) dodasz warunek modulo i tam ograniczysz na strony (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
fajnie niby rozumiem.. ale nie wiem jak zrobic paginacje bez uzycia LIMIT i jak ten LIMIT zaimplementowac w kod php, najsmieszniejsze jest to ze kiedy nie uzywalem JOINow to wszystko bylo ok.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:45 |