Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Sortowanie wyników
d.stp
post 3.03.2014, 23:21:59
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Mam 2 tabele:

uzytkownicy
id | data_rejestracji | login | haslo | x

tabela2
id | id_usera | polubienia

I wyświetlam wszystkich użytkowników sobie:

  1. $get_users = 'SELECT * FROM uzytkownicy ORDER BY id DESC';
  2.  
  3. while ($user = mysql_fetch_assoc($get_users)) {
  4.  
  5. // Pobieram ilosc polubien kazdego usera
  6. $polubienia = mysql_fetch_assoc(mysql_query("SELECT SUM(`polubienia`) AS `ilosc_polubien` FROM `tabela2` WHERE `id_usera` = '".$user['id']."'"));
  7.  
  8. echo 'ID: '.$user['id'].' | Polubienia: '.$polubienia['ilosc_polubien'].'<br />';
  9.  
  10. }


I to ładnie mi działa. Teraz chciałbym wprowadzić możliwość sortowania rosnąco/malejąco na kolumnę polubienia ale nie mam pojęcia jak. Wiem że trzeba użyć ORDER BY ale nie wiem co dalej.

Chyba będzie coś z join? słaby jestem w zapytaniach :/
Go to the top of the page
+Quote Post
Spawnm
post 4.03.2014, 00:15:11
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Połącz zapytania w jedno wink.gif
Go to the top of the page
+Quote Post
d.stp
post 4.03.2014, 00:50:31
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


No właśnie coś mi nie idzie to łączenie biggrin.gif

  1. SELECT * FROM uzytkownicy LEFT JOIN tabela2 ORDER BY SUM(tabela2.polubienia) AS `suma_polubien` WHERE uzytkownicy.id = tabela2.id_usera


takie cuda biggrin.gif
Go to the top of the page
+Quote Post
Turson
post 4.03.2014, 10:29:01
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. SELECT SUM(polubienia) AS ilosc_polubien FROM tabela2 JOIN uzytkownicy ON uzytkownicy.id = tabela2.id_usera


Ten post edytował Turson 4.03.2014, 13:29:10
Go to the top of the page
+Quote Post
in5ane
post 4.03.2014, 13:24:22
Post #5





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


  1. SELECT u.*, SUM(polubienia) AS ilosc_polubien
  2. FROM uzytkownicy u
  3. LEFT JOIN tabela2 t2 ON t2.id_usera = u.id
  4. ORDER BY ilosc_polubien DESC
Zapytanie pobierze Ci wszystkich użytkowników wraz z ich ilością polubień. Dane będziesz miał posortowane ilościu polubień od największego.


--------------------
> > > Tworzenie stron < < <
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: 15.07.2025 - 10:04