Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CI][CodeIgniter]ActiveRecord - najaktywniejsi użytkownicy, Użytkownicy, którzy napisali najwięcej komentarzy.
qrooel
post 9.06.2011, 09:16:04
Post #1





Grupa: Zarejestrowani
Postów: 306
Pomógł: 42
Dołączył: 25.03.2010
Skąd: Kraków

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


Witam,

Macie może pomysł jak wyciągnąć kilku [np. 3] najaktywniejszych użytkowników?
Przez najaktywniejszy rozumiem takiego, który napisał najwięcej postów.

Tabela użytkownicy:
- user_id
- user_nickname

Tabela komentarzy:
- comment_id
- comment_user_id

Ania 3.
Janek napisał 25 komentarzy.
Andrzej 10.
Waldemar 1.

  1. $query = $this->db
  2. ->select('user_id, user_nickname')
  3. ->select('comment_user_id')
  4. ->order_by('comment_user_id DESC')
  5. ->join('comments', 'user_id = comment_user_id', 'left')
  6. ->get('users');


Chciałbym to zrobić za pomocą bazy, a nie mielić w php.

Dzięki.

Ok, w kiblu wpadłem na pomysł, że zrobię sobie tabelkę points gdzie będą przyznawane punkty za komentarz do użytkownika. ;P

Rozwiązanie:

  1. $query = $this->db
  2. ->select('user_id, user_nickname')
  3. ->select('up_user_id, up_point')
  4. ->order_by('points DESC')
  5. ->select_sum('up_point', 'points')
  6. ->group_by('up_user_id')
  7. ->join('user_points', 'user_id = up_user_id')
  8. ->get('users', 3);


Ten post edytował qrooel 8.06.2011, 23:24:49


--------------------
Strony WWW: http://arscreo.pl
Go to the top of the page
+Quote Post
rugby
post 16.06.2011, 00:26:32
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Po co jakieś punkty? Wystarczy jedna linijka:
  1. $this->db->select('comment_user_id','count(comment_id) as ile_komci')->from('comments')->group_by('comment_user_id')->order_by('ile_komci','desc')->limit(3)->get();


--------------------
Juvenia Kraków Rugby Klub
Pobierz Google Chrome!
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 03:37