Seite 1 von 1

Anzahl einer Ausgabe... kleines Script [erledigt]

Verfasst: 10.01.2007 09:04
von nickvergessen
hi,

ich hab hier mal ein kleines Script:

Code: Alles auswählen

<?
    define('MYSQL_HOST',     '');
    define('MYSQL_USER',     '');
    define('MYSQL_PASS',     '');
    define('MYSQL_DATABASE', '');

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

    $sql = "SELECT
                author
            FROM
                gastebuch_posts;";

    $result = mysql_query($sql) OR die(mysql_error());


    while($row = mysql_fetch_assoc($result)) {
        echo $row['author'].'<br>';
    }//while
?>
Die Ausgabe klappt auch perfekt,
jetzt würde ich nur gerne haben, dass er in Klammern hinter den Authornamen die Anzahl zeigt, wie oft der Name in der Liste ist und nicht den Namen noch öfters in der gleichen Schreibweise auflistet.

Also statt
spamer
horst
spamer
soll sowas herauskommen
spamer (2)
horst (1)
Ich hoffe das geht ;)

Verfasst: 10.01.2007 09:10
von Pyramide
Guck dir mal die Dokumentation zu GROUP BY und COUNT() an.

Verfasst: 10.01.2007 15:25
von nickvergessen
Pyramide hat geschrieben:Guck dir mal die Dokumentation zu GROUP BY und COUNT() an.
könntest du etwas genauer werden? ;)
Also entweder wo in welcher Doku (ein Link reich vollkommen aus), oder die Aspekte verdeutlichen, sonst kann ich mit der Lösung nicht viel anfangen ;)

Verfasst: 10.01.2007 15:57
von Pyramide
Google benutzen ist schon schwierig, oder?

Suche nach "sql GROUP BY COUNT", erstes Ergebnis und da das zweite Beispiel ist genau was du suchst.

Verfasst: 10.01.2007 16:26
von nickvergessen
Pyramide hat geschrieben:erstes Ergebnis und da das zweite Beispiel ist genau was du suchst.
damit kann man doch gleich viel besser arbeiten

edit: fertiges Script:

Code: Alles auswählen

<?
    define('MYSQL_HOST',     '');
    define('MYSQL_USER',     '');
    define('MYSQL_PASS',     '');
    define('MYSQL_DATABASE', '');

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

    $sql = "
    	   SELECT     A.author, COUNT(A.author) As numb
            FROM       gastebuch_posts As A
            GROUP BY   A.author
            ORDER BY   numb
            DESC
           ";
    $result = mysql_query($sql) OR die(mysql_error());

    while($row = mysql_fetch_assoc($result))
    {
        echo $row['numb'].'&nbsp;'.$row['author'].'<br>';
    }
?>

Verfasst: 10.01.2007 16:32
von Jan500
nickvergessen hat geschrieben:
Pyramide hat geschrieben:erstes Ergebnis und da das zweite Beispiel ist genau was du suchst.
damit kann man doch gleich viel besser arbeiten
mit google kann (sollte) man noch besser arbeiten :roll: