Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Grupowanie wyników
evolucja
post
Post #1





Grupa: Zarejestrowani
Postów: 362
Pomógł: 27
Dołączył: 14.09.2009

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


Tabela:
id|userid|wartosc
1|1|testowo
2|51|testowo
3|61|testowo
4|51|testowo2
5|1|testowo2

i chciałbym otrzymać taką tablicę:
  1. $wyniki[1][1] = 'testowo';
  2. $wyniki[1][2] = 'testowo2';
  3. $wyniki[51][1] = 'testowo';
  4. $wyniki[51][2] = 'testowo2';
  5. $wyniki[61][1] = 'testowo';

Próbowałem takim zapytaniem:
  1. SELECT * FROM `tabela` GROUP BY userid

ale to zwraca jakiś dziwny wynik, tzn tylko po 1 wpisie dla każdego userid.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukasz_matysek
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


Cytat(evolucja @ 23.04.2010, 15:31:28 ) *
  1. SELECT * FROM `tabela` GROUP BY userid

ale to zwraca jakiś dziwny wynik, tzn tylko po 1 wpisie dla każdego userid.

Nie zwraca ci dziwnego wyniku, tylko wynik zgodny z tym co chciałeś. Zleciłeś grupowanie takich samych userid - więc mysql je pogrupował i dał w wyniku.

Co do Twojego problemu - zrób tak:

$query = mysql_query("SELECT * FROM tabela ORDER BY userid");

Wtedy dostaniesz taki porządek wyniku, jaki chcesz mieć w tablicy.

Potem w pętli while($row = mysql_fetch_array($query)) wrzucaj sobie kolejne linijki do tablicy $wyniki[][].


PS "zahamowanie" jak coś ;p
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: 12.10.2025 - 19:10