Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ranking rekordów z mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
djiras1
Witam,
Mam problem, ponieważ chcę zrobić Ranking rekordów z mysql.
Mam tabelę 'cyfry' i w niej strukturę 'id' oraz 'liczby'.
Przykładowa zawartość:
id - numery
1 - 5
2 - 3
3 - 3
4 - 3
5 - 3
6 - 5
7 - 5
8 - 2
9 - 3

Zawartość tabeli będzie się zmieniać, ponieważ cały czas będę dodawał przez formularz rekordy do 'numery'
Chcę wyświetlić ranking tych liczb, czyli w tym wypadku:
1miejsce - "3" - występuje 5 razy
2miejsce - "5" - występuje 3 razy
3miejsce - "1" - występuje 1 razy

Coś takiego... Proszę o pomoc winksmiley.jpg
flashdev
Przy wykonywaniu zapytania do bazy danych dodaj komendę odpowiedzialna za sortowanie:
Kod
ORDER BY `numery` ASC
artega
djiras1 najprostrzym rozwiązaniem jest pogrupowanie wyników i zliczenie ile jest ich w grupie
  1. SELECT count(id), numer FROM ranking GROUP BY numer
djiras1
artega, moglbys podpowiedziec jak to policzyć ?
kefirek
Zobacz tak
  1. <?php
  2. $wynik = mysql_query("SELECT COUNT(id) AS ile FROM cyfry GROUP BY numery ORDER BY ile DESC");
  3. while($r = mysql_fetch_assoc($wynik)) {
  4. echo "".$r['numery']." Ile ".$r['ile']."";
  5. }
  6. ?>
djiras1
spoko, tylko.. skąd wziąć 'ile' ? Mam tylko
id - numery
kefirek
Tej kolumny nie masz ale ją tworzysz tymczasową za mocą AS ten kod co podałem działa bo sprawdzałem
djiras1
kefirek
wyświetla luks liczbe... tylko kurde, jeszcze jeden problem ;/

  1. echo "".$r['numery']." Ile ".$r['ile']."";


wyswietla: Ile LICZBA - i wyswietla OK, ale jeszcze nie wyswietla sie "numery"

Zrobiłem winksmiley.jpg Zamykać ;] dzięki
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.