[PHP] Frage

  • Hallo,
    eine kleine Frage. Ich versuche zurzeit eine Chartseite zu erstellen.
    Dabei soll der Platz eines Liedes durch das Ergebnis von den Likes und Dislikes stammen.

    Beispiel:
    1. Lied hat 10 Likes, 2 Dislikes = Ergebnis 8
    2. Lied hat 22 Likes, 5 Dislikes = Ergebnis 17

    Dann soll 2. Lied Platz 1 erhalten und danach geordert werdet.
    Das Ergebnis erhalte ich, allerdings weiß ich danach nicht weiter...

    PHP Version 5.3
    @iExit

    Gruß,

  • NÖ. du ordnest die tabelle ja nicht nach einer zahl, sondern nach dem wert der spalte $test.

    wie wär's wenn du eine spalte mit namen "differenz" hinzufügst, welche den eintrag "likes - dislikes" enhält, und deine auflistung nach diesem wert ordnest? ;)

  • Code
    $query = mysql_query('SELECT * FROM charts ORDER BY (likes - dislikes) DESC');
    
    
    while($r = mysql_fetch_object($query)) {
        echo 'Name: ' . $r->name . '<br>';
        echo 'Likes: ' . $r->likes . '<br>';
        echo 'Dislikes: ' . $r->dislikes . '<br>';
    }

    2 Mal editiert, zuletzt von asapi (2. April 2015 um 20:01)

  • Wäre besser, wenn du diese Differenz nicht mittels PHP in einer Schleife ausrechnest, sondern direkt in der MySQL-Query, da dies wahrscheinlich die schnellste Methode ist.

    SQL
    SELECT * FROM .. ORDER BY (likes - dislikes) DESC

    Cheers,
    Steve Winfield

  • Wäre besser, wenn du diese Differenz nicht mittels PHP in einer Schleife ausrechnest, sondern direkt in der MySQL-Query, da dies wahrscheinlich die schnellste Methode ist.

    SQL
    SELECT * FROM .. ORDER BY (likes - dislikes) DESC

    Cheers,
    Steve Winfield


    Habe ich nun gemacht, somit habe ich 2. Probleme behoben. Bedanke mich für Eure Hilfe :)

    #closed

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!