kostenloser Webspace werbefrei: lima-city


sortierung sql ausgabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Halli Hallo,

    ich habe folgendes Problem, ich lese aus meiner DB Punktestände aus und sortiere diese nach den Punkten. Der mit den meisten Punkten sollte ja oben stehen. Soweit klappt das auch, allerdings wird mir das dazugehörige Datum falsch ausgelesen. Es wird also richtig nach Punkten sortiert aber das falsche Datum genommen.

    Hier mal das Codestück zum sql
    $slq_scorre_susi = "SELECT max(menge) as menge, name, datum
    FROM `logs_susi`
    GROUP BY `name`
    ORDER BY `menge` DESC 
    LIMIT 0 , 30
    ";
    $result_scorre_susi = mysql_db_query ($dbname, $slq_scorre_susi, $verbindung);


    Die Ausgabe kommt dann in einer while

    $platz = 1;
    
    while ($ausgabe_scorre = mysql_fetch_array ($result_scorre_susi)){ 
    
    $name = $ausgabe_scorre[name];//name des users
    $menge = $ausgabe_scorre[menge];// menge der gefangenen Fliegen
    $logTIME = $ausgabe_scorre[datum];// datum 
    
    $datum = date("d.m.Y",$logTIME);// datum umwandeln
    $uhrzeit = date("H:i",$logTIME);// Uhrzeit umwandeln
    $fighttime = $uhrzeit . " Uhr  " . $datum;// Anzeige für Datum belegen
    // Platz 1-3 hervorheben
           if( $platz == 1 || $platz == 2 || $platz ==3 )
               {$platz_ausgabe = "<b>$platz | $menge | $name | $fighttime </b><br />";}
    
               // ab platz 4 normale ausgabe 
                     else {$platz_ausgabe = "$platz | $menge | $name | $fighttime <br />";}
                              echo "$platz_ausgabe ";
    
    // scorreplatz hochzählen
    $platz = $platz+1;
    }


    Die Ausgabe sieht dann wie folgt aus.

    http://prntscr.com/2wk25v

    Die Punkte, der Name stimmen. Das Datum ist immer das Datum vom ersten Eintrag, wird also einfach nicht mit sortiert. Ich hoffe Ihr habt nen Tip für mich, ich weiß das sieht sicher sehr Chaotisch aus, hoffe mal Ihr blickt trotzdem durch..

    Euch schon mal ein entspanntes WE
    Gruß Marco
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wie liegt denn das Datum in der DB vor? Als Datetime oder Unix timestamp?

    Könntest auch noch folgendes versuchen:

    $datum = date("H:i Uhr d.m.Y",$logTIME);// ist Datum und Uhrzeit


    Auch schon mal in PHPMyadmin geschaut?
    Bzw. wenn Unix Timestamp vielleicht mal das Datum einzeln aus der Tabelle ziehen und mal umwandeln. Eventuell liegt ja schon ein Fehler beim Eintragen vor.
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    also in der DB ist das Datum richtig als Unix hinterlegt. Ich lese die Daten noch für eine weitere Anzeige aus und da wird das Datum richtig gezeigt.
    In dieser Ausgabe werden einfach die letzten 30 Einträge ausgegeben, als Übersicht was die letzten so geschafft haben.

    In der „Problemanzeige“ werden die Daten aus der gleichen Tabelle gezogen, dann aber umsortiert nach der Menge. Das sortieren nach Menge klappt auch noch, nur nimmt er dann halt nicht das Datum des Eintrags sondern das Datum des ersten Eintrags, der vom User in der DB liegt.
    Im Screen ist alles auf den 17.02 weil ich da eine neue Runde gestartet habe und das somit der erste Eintrag ist den der jeweilige User erzeugt hat.

    Die User haben also mehrere Einträge in dieser Tabelle, sie können alle 4h einen neuen Versuch starten der dann ebenfalls in die Tabelle kommt.
    Hier mal ein Beispiel, chuck norris beachten.

    Ausgabe 1 Sortiert nach Datum (DESC) klappt
    http://prntscr.com/2wmrx3

    Ausgabe 2 Sortiert nach Menge (DESC) ergibt falsches Datum
    http://prntscr.com/2wmrze



    $datum = date("H:i Uhr d.m.Y",$logTIME);// ist Datum und Uhrzeit

    Leider gleiches Ergebnis.

    Gruß Marco

  5. liegt am Group by, da kann dann nur der erste Treffer ausgegeben werden. Das ist so einer der Nachteile bei relationalen Datenbanken.

  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    danke für die Aufklärung, da kann ich ja lange testen und Fehler suchen.
    Dann muss es wohl ohne Datum an ideser Stelle gehen.

    Nen Daumen kann ich Dir leider nicht geben, den musst Du Dir vorstellen :)


    Danke und ein schönes Wochenende.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!