Zeilen eine db ausgeben (Statistik)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeilen eine db ausgeben (Statistik)

    Nun ich habe folgende ausgaben bis jetzt bei meiner db:

    00 $0,$6;$0))$6),$0>$6M$0ann$6i$0<$6,($0(($6;$0, 023 $0Z$4!$0n$4G$0o$3Q 01 $1GREENPDANK*TAW* 00 Bananenboss 32 HUGH 016 Manni 2212 molly 00 test 00 TT52-Dely 77
    Es ist vielleicht daraus schwer zu erkennen aber ich habe eine db mit den Feldern 'playername','kills','deaths'.
    Nun will ich diese db aus geben zB in form einer tabelle und zwar das es nach der anzahl der 'kills' geordnet ist.
    D.h. der mit den meinsten kills der soll an 1. stelle stehen.
    So nun die frage welche funktion könnte ich dazu verwenden?

    mein bis jetzt gecodetes script sieht so aus:

    PHP-Code:
    /*Verbindung mit Datenbank*/

    $rank mysql_connect($db_server$db_user$db_passwort);
    if (!
    $rank) {
        die(
    'keine Verbindung möglich: ' mysql_error());
    }
    //echo 'Verbindung erfolgreich';

    $db_selected mysql_select_db($db_name$rank);
    if (!
    $db_selected) {
        die (
    'Kann ranking nicht benutzen : ' mysql_error());
    }


    /*Abfrage und Zusammenrechnen*/
    $abfrage "SELECT playername, SUM(kills) AS kills, SUM(deaths) AS deaths FROM ranking GROUP BY playername";

      
    $ergebnis mysql_query($abfrage)
      or die(
    mysql_error().'<hr />'.'$abfrage'.'<hr />');


    /*Ausgabe*/

    while($row mysql_fetch_assoc($ergebnis))
    {
    echo 
    $row['playername'];
    echo 
    $row['kills'];
    echo 
    $row['deaths'];
    }

    ?> 
    Thx Manofwar

  • #2
    Gar keine. Um Tabellen zu "erstellen" verwendest du HTML und gut ist. selfhtml hilft weiter.

    OffTopic:
    Auf zum nächsten Mammut-Thread.

    Kommentar


    • #3
      Benutze ORDER BY ... DESC zum Abwärtssortieren. Den Rest hast du ja schon fast, also verweise ich auf meinen Vorgänger.

      Kommentar


      • #4
        ähm jo hab ich mal versucht:

        PHP-Code:
        /*Abfrage und Zusammenrechnen*/
        $abfrage "SELECT playername, SUM(kills) AS kills, SUM(deaths) AS deaths FROM ranking GROUP BY kills DESC"
        Dabei kommt dann das als ausgabe raus:

        Can't group on 'kills'
        $abfrage

        wenn ich allerdings anstatt kills bei GROUP BY playername eingebe wird alles eben nach den namen geordnet angezeigt.
        wie kann man das beheben?

        Kommentar


        • #5
          Mach die augen auf!

          :readthins:

          GROUP != ORDER

          Danke...

          Kommentar


          • #6
            k thx hab ich übersehen oder eben zu schnell gehandelt.

            also dann kommt allerdings das:
            Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
            $abfrage
            heißt das das ich die SUM funktion nicht mehr nutzen kann?

            Kommentar


            • #7
              wie sieht deine query aus?

              Kommentar


              • #8
                das ist die abfrage:

                PHP-Code:
                /*Abfrage und Zusammenrechnen*/
                $abfrage "SELECT playername, SUM(kills) AS kills, SUM(deaths) AS deaths FROM ranking ORDER BY kills DESC";

                  
                $ergebnis mysql_query($abfrage)
                  or die(
                mysql_error().'<hr />'.'$abfrage'.'<hr />'); 

                und das die eingabe:

                PHP-Code:
                $query "INSERT INTO ranking (playername, kills, deaths) values " implode(", "$values);

                mysql_query ($query) or die("MySQL-Fehler:<br>$query<br>" mysql_error()); 

                Kommentar


                • #9
                  das ist die abfrage:
                  Ja, und wo ist das GROUP BY abgeblieben?

                  und das die eingabe:
                  die funktioniert doch???

                  Kommentar


                  • #10
                    aso thx mir ging ein licht auf bei deinem post^^

                    habs nun geschafft thx

                    Kommentar

                    Lädt...
                    X