Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Toplista userów, z największą liczbą wiadomości
Forum PHP.pl > Forum > Przedszkole
todaro
Moja tabela w bazie mysql składa się z kolumn: id, tytul, opis, user, data. Chcę zrobić toplistę userów, którzy napisali najwięcej wiadomości. Przenoszę dane do tablicy, a następnie obliczam, ile jest wystąpień poszczególnych userów, funkcją array_count_values(). Mam problem z posortowaniem wyników i wyświetleniem ich w tabelce.

Mam taki kod:

  1. <?php
  2. $zapytanie = "SELECT user FROM db";
  3. $idzapytania = mysql_query($zapytanie);
  4. while ($wiersz = mysql_fetch_row($idzapytania))
  5. {
  6. $user[]=$wiersz[0];
  7. }
  8. ?>


Wynikiem jest przykładowo tablica:

  1. <?php
  2. Array ( [user_01] => 7 [user_02] => 18 [user_03] => 1 )
  3. ?>
.radex
Wiesz, nie lepiej użyć "ORDER BY"?

A sortuje się funkcją sort() i jej pochodnymi. Zobacz sobie w manualu.
todaro
Z sortowaniem sobie poradziłem, jednak mam problem z utożsamieniem wyników z userami...

Wydaje mi się, że trzeba wykorzystać tablicę wielowymiarową.

$user[0] => user_01
$user[0] => 7

$user[1] => user_02
$user[1] => 18

$user[2] => user_03
$user[2] => 1

Proszę o jakąś podpowiedź.
nospor
to co chcesz zrobic robi sie na poziomie mysql.
slowa kluczowe:
group by
count
todaro
nospor, dzieki, napisałem coś takiego i działa smile.gif:

  1. SELECT user, count(*) AS ilosc FROM db GROUP BY user ORDER BY ilosc DESC
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.