2017-09-14 5 views
1

Neuling hier. Ich habe einige Probleme mit PHP Code. Ich habe derzeit 1 Datenbank, bestehend aus zwei Tabellen. Die beiden Tabellen sind mit members und member_stats gekennzeichnet. Die Mitglieder Tabelle besteht aus 3 Spalten (Fname, Lname, MemberID), die member_stats Tabelle besteht aus 11 Spalten (user_name, first_name, last_name, avatar, num_friends, num_checkins, total_cards, total_selfmade_cards, total_followings, total_photos).Sortieren von Datenbankdaten mit PHP

ich die Daten aus meiner Datenbank mit

$result = mysqli_query($con,"SELECT * FROM member_stats "); 

ich dann bin Abrufen bin auf der Seite mit dem folgenden Code die Daten in HTML-Tabelle angezeigt werden.

while($row = mysqli_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td><div class='user_nav_btn open' ><img src='" . $row[avatar] . "' alt='' /></div></td>"; 
echo "<td>" . $row['first_name'] . "</td>"; 
echo "<td>" . $row['MemberID'] . "</td>"; 
echo "<td>" . $row['num_friends'] . "</td>"; 
echo "<td>" . $row['total_cards'] . "</td>"; 
echo "<td>" . $row['num_checkins'] . "</td>"; 
echo "<td>" . $row['total_selfmade_cards'] . "</td>"; 
echo "<td>" . $row['total_followings'] . "</td>"; 
echo "<td>" . $row['total_photos'] . "</td>"; 
echo "</tr>"; 
} 

Ich versuche, den Tisch zu bekommen alle Zeilen von Daten über den Wert von total_cards, um vom höchsten zum niedrigsten Basis zu drucken. Egal, was ich versucht habe, ich konnte es nicht zur Arbeit bringen. Ich habe bei allem, was ich versucht habe, nur Fehler bekommen. Irgendwelche Vorschläge? Ich habe mehrmals ohne Glück über http://php.net/manual/en/array.sorting.php geschaut.

+5

tun die Reihenfolge in der Abfrage 'Reihenfolge von total_cards' – rtfm

Antwort

1

Da der erste Kommentar Sie auf den guten Weg bringt, brauchen Sie nicht PHP-Sortierung wie Sie, nur eine Abfrage SQL ist ausreichend.

SELECT * FROM member_stats ORDER BY total_cards ASC 

standardmäßig eine SELECT-ASC ist, habe ich nur noch zu wissen, was er tun kann (ASC | DESC) in der Abfrage zu sortieren.

+0

WOW, ich war wirklich über das Denken und macht es schwerer als es nötig war, um ich denke. – user1072014

2

Die einfachste Methode wäre, dass Sie Ihr SQL aktualisieren; Sie können bestellen, dass Ihr Server die Ergebnisse anfordert.

$sql = "SELECT * FROM member_stats ORDER BY total_cards"; 

Sie haben auch die ASC (aufsteigend) oder DESC (absteigend) Schlüsselwörter, die die Reihenfolge von aufsteigend zu absteigend bestimmen.

Ihre Datenbank zu erhalten, die Daten in der Reihenfolge der total_cards

Sie auch alle Ergebnisse in einem Array bekommen, und dann sortiert Dies wird es ihm Abfrage, die Art und Weise mit einiger Javascript Tabellenbibliothek und manipulieren.