Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Statystyka najaktywniejszych
Forum PHP.pl > Forum > Przedszkole
GigaDownload
Chcę zrobić statystykę najwięcej dodających nową treść, wszystko jest zapisane w tabela1, wiersz1

Mam taki kod php (wiem, że zły):


  1. <?php 
  2. $polaczenie=mysql_connect('localhost','baza','hasło')
  3.     or die('Nieudane poczenie z baz danych...');
  4.  
  5.     or die('Nieudane wybranie bazy danych...');
  6.     
  7. $top10 = mysql_query("SELECT COUNT(*) AS `rekordow`, `dodal` FROM `tabela1` GROUP BY `dodal` ORDER BY `rekordow` DESC LIMIT 0, 30 ");
  8. echo 'Statystyki: '.$top10.'';
  9. ?>




Wiem, że jest źle. Chcę wyświetlić taką tabelkę jak w phpmyadmin (dostaję koło nicka liczbę powtórzeń w rekordach i tak wszystkich, tylko, że w poprawnym kodowaniem polskich znaków [baza utf8]). Może ktoś podać prawidłowy kod?
Grzyw
Kilka uwag:
1) Nie używaj polskich znaków diakretycznych w poleceniach SQL
2) Zakładam że wiersz1 to nazwa pola z loginem usera albo z jego ID
3) Zmienna $top10 nie zawiera gotowej tabelki, poczytaj o funkcji mysql_fetch_object" title="Zobacz w manualu PHP" target="_manual lub mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual lub mysql_fetch_row" title="Zobacz w manualu PHP" target="_manual.
GigaDownload
Mam tabelę "tabela1", a w niej strukturze pola - nazwa, ostatnie pobranie, link do pliku, liczba pobrań, głosów, suma głosów i tak dalej - wszystkie informacje o jednym pliku. W tych polach mam też "dodal", gdzie jest tylko nick dodającego.

Będąc w strukturze tabeli kliknęłem przy "dodal" na "przeglądaj różne wartości", gdzie wyświetliła mi się tabelka z listą ludzi dodających, a obok w kolumnie drugiej liczba powtórzeń tego nicku (o co mi właśnie chodzi, by zrobić to jako skrypt php). Będąc w tym co napisałem powyżej dodałem gotowe zapytanie do sql, które przedstawiłem w skrypcie w pierwszym poście - stąd te polskie znaki.

Trochę już jaśniej?


edycja: Teraz trochę poprawione wstępne zapytanie, szeregowanie od największej do najmniejszej. Popr. post pierwszy.
kefirek
  1. <?php
  2. echo "<table cellpadding='2' border='2'>";
  3.         echo "<tr>";
  4.        echo "<td>Dodał:</td>";
  5.        echo "<td>Ile:</td>";
  6.        echo "</tr>";  
  7.  
  8.    while($row = mysql_fetch_assoc($top10)) {
  9.        echo "<tr>";
  10.        echo "<td>".$row['dodal']."</td>";
  11.        echo "<td>".$row['rekordow']."</td>";
  12.        echo "</tr>";
  13.    }
  14.    echo "</table>";
  15. ?>
GigaDownload
Dziękuję kefirek za kod, oczywiście działa poprawnie. smile.gif
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.