![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
Witajcie.
Potrzebuje zrobic maly ranking uzytkownikow zliaczajacy ile postow napisali i ile razy zaglosowali na toplisty w ustalonym przedziale czasowym. Dwie tabele: phpbb_toplisty id toplista (nr toplisty) user_id data (w formacie unix) phpbb_posts post_id poster_id post_time (format unix) No i teraz chce wyswietlic uzytkownikow w kolejnosci malejacej ktorzy zgromadzili najwiecej punktow w danym czasie. 1pkt za topliste i 1 za napisanie posta. Nie wiem za bardzo jak to zrobic. Napisalem cos łopatologicznego ale nie umiem posortowac, poza tym strasznie niezdarne to zapytanie.
prosze o pomoc, jakies wskazowki:) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie zapytaniem,
Nędza to te nested loopy. Nie możesz puszczać tego w pętlach za każdym wyświetleniem. Musisz liczyć na piechotę i przechowywać w tabelce pod tytułem wyniki (czy user_ilosc_punktow). Przy każdym poście/topliście dodawaj jeden punkt. W taki sposób będziesz miał wyniki zawsze w postaci danych i nie będziesz musiał count()-ować. Wynik twojego programiku możesz użyć jako dane wyjściowe. Zapisz to co ci wyjdzie do nowej tabeli (user_ilosc_punktow), a dalej to już dodawaj do niej. Przy wyświetlaniu zrobisz sobie select z user_ilosc_punktow. -------------------- ==============================================
Bo ja jestem Wróbelek Htmlek ============================================== |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 18:34 |