Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porada - sortowanie kilku rekordów z bazy danych
Forum PHP.pl > Forum > PHP
Albert
Kod
$dane = mysql_query("SELECT walka, alchemia, gornictwo, uprawa, hodowla, zlodziejstwo, c_magia FROM players order by $suma desc limit 10");
print "<b><center>TOP:</b><br><br><br>";
while ($row = mysql_fetch_array($dane)) {
$suma = array_sum($row)/2;
print "$suma<br>";
}


Ten kod wyświetla 10 liczb w kolejności od od najstarszego do najnowszego rekordu. Czy jest możliwość, aby rekordy były wyświetlane od największego do najmniejszego?
Nie byłoby problemu, jeśli chodziłoby o jedno pole, wtedy wystarczyłoby dodać order by nazwa_pola desc lub asc,jednak w tym wypadku są pobierane rekordy z kilku pól w bazie. Proszę o radę.
Vogel
gdybys przejrzal _podstawy_ SQLa to bys nie robil takich kosmzarkow jak pokazales
  1. <?php
  2.  
  3. $dane = mysql_query("SELECT (walka+alchemia+gornictwo+uprawa+hodowla+zlodziejstwo+c_magia) suma FROM players order by suma desc limit 10");
  4.  
  5. print "<b><center>TOP:</b><br><br><br>";
  6.  
  7. while ($row = mysql_fetch_array($dane)) {
  8. print $row['suma']."<br />";
  9. }
  10.  
  11. ?>
Albert
Cytat(Vogel @ 2006-05-07 16:27:44)
gdybys przejrzal _podstawy_ SQLa to bys nie robil takich kosmzarkow jak pokazales
  1. <?php
  2.  
  3. $dane = mysql_query("SELECT (walka+alchemia+gornictwo+uprawa+hodowla+zlodziejstwo+c_magia) suma FROM players order by suma desc limit 10");
  4.  
  5. print "<b><center>TOP:</b><br><br><br>";
  6.  
  7. while ($row = mysql_fetch_array($dane)) {
  8. print $row['suma']."<br />";
  9. }
  10.  
  11. ?>

Fakt, trzeba się poduczyć SQLa. Dzięki za pomoc!
akubiczek
To w ramach nauki zapamiętaj sobie, że bez ORDER BY nie masz absolutnie żadnej pewności w jakiej kolejności rekordy zostaną zwrócone (wcale nie od najstarszego do najnowszego).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.