Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> porada - sortowanie kilku rekordów z bazy danych
Albert
post 7.05.2006, 16:59:17
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.05.2006

Ostrzeżenie: (0%)
-----


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ę.


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Vogel
post 7.05.2006, 17:27:44
Post #2





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Go to the top of the page
+Quote Post
Albert
post 7.05.2006, 17:30:03
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.05.2006

Ostrzeżenie: (0%)
-----


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!


--------------------
Go to the top of the page
+Quote Post
akubiczek
post 8.05.2006, 21:31:27
Post #4





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

Ostrzeżenie: (0%)
-----


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).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:39