Gleiche Einträge in einer Spalte zählen und absteigend ausgeben

Eiszwerg

Erfahrenes Mitglied
Einen Wunderschönen,

ich habe eine Spalte in einer Tabelle, die sich "user" nennt. Wie muss ich die Abfrage gestalten, damit:

a) gezählt wird, wie oft ein user eingetragen ist
b) die Ausgabe absteigend nach Anzahl der Eintragungen erfolgt
c) am Besten noch die Anzahl angezeigt werden kann?

C) ist nicht zwingend nötig, aber ich bin damit tatsächlich ein wenig überfordert.
Ich dachte an etwas wie:
PHP:
sql="SELECT user,count(*) as Anzahl FROM $table GROUP BY user ORDER BY post DESC"

Leider klappt das aber so nicht :rolleyes:
 
versuch es so mal

Versuche es doch mal auf diesem Wege - vielleicht ist es ja, was Du meintest:

PHP:
$query = mysql_query("SELECT user_id, count FROM news ORDER BY post DESC");
          
            while ($row = mysql_fetch_array($query)) {
              echo "<table width=100% border=0 style=background-color:transparent>
                      <tr> 
                        <td width=75% cellpadding=0 cellspacing=0>$row[user_id]</td>
                        <td width=25% cellpadding=0 cellspacing=0>$row[count]</td>
                      </tr>
                    </table>";
            }

Voraussetzung wäre, dass Du in Deiner Datenbank, die Tabelle "user" auswählst und das Tabellenfeld "user" am besten nach "user_id" umbenennst, da es ansonsten schnell zu Verwechslungen der Begrifflichkeiten kommen könnte.

Dieser Code gibt das Ergebnis direkt in einer Tabelle aus

Den Rest, Verbindungsaufbau mit Datenbank und so, weißt aber!?
 
Ich glaube, Du hast mich mißverstanden, oder ich Dich.
Dein Beispiel-Code bezieht sich meinem Verständnis nach auf eine Tabelle, die auch die Spalten "count" und "post" besitzt, oder?
Diese sind bei mir aber nicht vorhanden.
Die Tabelle nennt sich "tagebuch" und die Felder heissen "beitrag_id", "user", "datum", "titel" , "beitrag" und "link".
Und ich möchte eben rausfinden und auflisten, welcher User mit wievielen Einträgen die Toplist anführt.
 
Zurück