Hallo ich Möchte gerne die 10 Größten Werte aus meiner DB ausgeben?

5 Antworten

Dazu musst du dein SQL-Query anpassen. In deinem Fall wäre es folgendes:

SELECT * FROM users ORDER BY coins DESC LIMIT 10;

Mit ORDER BY gibst du an, nach welcher Spalte sortiert werden soll. DESC steht für absteigend, also höchster Wert zuerst. Am Schluss mit LIMIT definierst du die Anzahl Ergebnisse.

Wenn ich jetzt keinen Gedankenfehler habe...

<?php $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

$sql = "SELECT * FROM users ORDER BY coins DESC LIMIT 10"; foreach ($pdo->query($sql) as $row) { echo $row['coins']." ".$row['id']."
"; echo "E-Mail: ".$row['email']."

"; } ?>


flo34771 
Beitragsersteller
 27.09.2016, 12:10

Hei danke :) ja das hilft allerdings :/ die user werden jz zwar aufgelistet aber der mit den Meisten Coins steht noch immer nicht ganz oben.. es ist alles bund duchgemischt

flo34771 
Beitragsersteller
 27.09.2016, 12:13
@flo34771

Ach und die Zahlen werden nicht richtig ausgeben ohne number_format

<?php $sql = "SELECT * FROM users ORDER BY coins DESC LIMIT 10";
foreach ($pdo->query($sql) as $row) {
$coinsrow = number_format(
$row['coins'], // zu konvertierende zahl
0, // Anzahl an Nochkommastellen
".", // Dezimaltrennzeichen
"." // 1000er-Trennzeichen
);


?><?echo $coinsrow . ""; echo " User: ".$row['email']."
";?><?
} ?>



Die beste Antwort könnte in den restlichen 3 Antworten stecken - registriere Dich jetzt!