Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Sortowanie po zmiennej
Maciek316
post 15.09.2016, 09:50:33
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

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


Witam, wyklepałem taki kod:
  1. $zespoly = all("select * from teams order by lvl desc");
  2. if(is_array($zespoly)){
  3. for($i=0;$i<count($zespoly);$i++){
  4. $pos1++;
  5. $mem=mysql_query ("SELECT COUNT(*) AS ile, SUM(honor) AS honor FROM users WHERE team = ".$zespoly[$i]->id); //ile graczy aktualnie w teamie
  6. $members=mysql_fetch_array($mem); //to co wyzej
  7.  
  8. $honor = $members[honor]; //zliczony honor wszystkich graczy
  9. echo "";
  10. }
  11. }


i oczywiscie pokazuje wyniki po lvlu.
A teraz chcialbym zeby wyniki szly po wartosci zmiennej $honor. Jak to mogę osiągnąć?

Ten post edytował Maciek316 15.09.2016, 09:51:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
trueblue
post 15.09.2016, 10:10:53
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Sprawdź czy to jedno zapytanie daj taki wynik jak oczekujesz:
  1. SELECT COUNT(u.team) AS ile, SUM(u.honor) AS honor FROM users AS u, teams AS t WHERE u.team=t.id ORDER BY t.lvl DESC, honor GROUP BY u.team


--------------------
Go to the top of the page
+Quote Post
Maciek316
post 15.09.2016, 10:22:55
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

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


to zapytanie nie daje mi zadnego wyniku :/
Go to the top of the page
+Quote Post
trueblue
post 15.09.2016, 10:23:54
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Pokaż kawałek danych z users i teams. Wraz z nazwami kolumn.


--------------------
Go to the top of the page
+Quote Post
Maciek316
post 15.09.2016, 10:31:40
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

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



czesc po lewej odpowiada za teamy, po prawej za users.
po prawej jest jeszcze honor - int 11
oraz team - int 11
Go to the top of the page
+Quote Post
trueblue
post 15.09.2016, 10:35:23
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Pokaż kawałek danych.

Poprawka:
  1. SELECT COUNT(u.team) AS ile, SUM(u.honor) AS honor FROM users AS u, teams AS t WHERE u.team=t.id GROUP BY u.team ORDER BY t.lvl DESC, honor


Ten post edytował trueblue 15.09.2016, 10:40:54


--------------------
Go to the top of the page
+Quote Post
Maciek316
post 15.09.2016, 10:40:49
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

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




Działa, dziękuje!

Ten post edytował Maciek316 15.09.2016, 11:05:21
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: 19.07.2025 - 19:35