Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Sortowanie w petli while
Komarek
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


Witam
Chcialbym sie dowiedziec jak moge zrobic sortowanie w petli while?

Problem jest taki ze nie sortuje wg jakiejs komorki w bazie...
mianowicie:

mam while wierszy w tabeli1, w funkcji while mam sprawdzanie z innych tabel wynikow dla innych osob i obliczenie ilosci procent osob posiadajacych dany wynik.
Tak wiec nie moge uzyc w zapytaniu sql ORDER BY poniewaz to po czym mam posegregowac obliczam dopiero pozniej.

Na przykladzie:

  1. $global_stats = mysql_query("SELECT * FROM `achsk_names`");
  2.  
  3. while($global_stat = mysql_fetch_assoc($global_stats))
  4. {
  5. $id = $global_stat['id'];
  6. $name = $global_stat['Name'];
  7.  
  8. $global_players_earned = mysql_query("SELECT COUNT(*) AS global_players_earned FROM `achsk_playerinfo` WHERE `Earned` = '1' AND `id` = '".$id."'");
  9. $global_earned = mysql_result($global_players_earned,0);
  10.  
  11. echo $id."-".$name."-".round($global_earned/$players2*100)."%";
  12. }


Jak moge posegregowac wyniki (id-name-X%) wedlug liczby % ? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
YaQzi
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


uh... :x

Możesz np zrobić sobie tablicę:
$tab[$id]['erned'] = $global_earned;
$tab[$id]['name'] = $name;

i posortować ją po wartości w erned... ale coś mi się wydaje, że można sobie taką posortowaną listę złożyć u Ciebie jednym zapytaniem do bazy...

...i coś mi się wydaje, że mniej więcej tak to będzie wyglądać:

  1. SELECT id, COUNT(*)/'.$players2.'*100 AS global_players_earned,
  2. (
  3. SELECT Name
  4. FROM achsk_names
  5. WHERE id = P.id
  6. )
  7. FROM achsk_playerinfo AS P
  8. WHERE Earned = 1
  9. GROUP BY id
  10. ORDER BY global_players_earned DESC


Ten post edytował YaQzi 18.07.2011, 16:40:19
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 02:14