Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Order by
Forum PHP.pl > Forum > Przedszkole
0day
Hej, mam takie zapytanie:

  1. "SELECT COUNT(*) as Ilosc FROM topics WHERE starter_id = '".$r['member_id']."' AND forum_id = '2'"


Umieszczenie ORDER by Ilosc w jakimkolwiek miejscu powoduje błędy:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\index.php on line 122

I wyniki się nie sortują. Nie mam pojęcia co mogę robić źle, any ideas?
jacobson
a co Ty chcesz tu orderowac skoro pobierasz tylko ilosc elementów ?
0day
No pobieram ilość elementów i to wyświetlam.
nospor
No i powtorze pytanie: co tu sortowac?? Tu nie ma nic do sortowania :/
jacobson
jakbys mial cos w stylu

"SELECT * FROM topics WHERE starter_id = '".$r['member_id']."' AND forum_id = '2

to juz mozesz sortowac bo mozesz miec duzo takich elementow.
0day
Cytat(jacobson @ 29.11.2013, 08:47:07 ) *
jakbys mial cos w stylu

"SELECT * FROM topics WHERE starter_id = '".$r['member_id']."' AND forum_id = '2

to juz mozesz sortowac bo mozesz miec duzo takich elementow.


No okej. Ale ja potrzebuję mieć też liczbę tych tematów.
SmokAnalog
No to masz liczbę w swoim poprzednim zapytaniu. Ono zwraca jeden wiersz, więc nie ma sensu go sortować.
0day
Cytat(SmokAnalog @ 29.11.2013, 09:06:33 ) *
No to masz liczbę w swoim poprzednim zapytaniu. Ono zwraca jeden wiersz, więc nie ma sensu go sortować.

Czyli muszę teraz zrobić drugie zapytanie aby to posortować?
SmokAnalog
Może inaczej: pokaż jakieś przykładowe wyniki, jakie chcesz osiągnąć.
0day
Cytat(SmokAnalog @ 29.11.2013, 09:15:59 ) *
Może inaczej: pokaż jakieś przykładowe wyniki, jakie chcesz osiągnąć.

No po prostu jest na stronie tabela i tam wyświetlają się wyniki. Tutaj akurat ilość tematów. No i chcę posortować userów według ilości tych tematów.
SmokAnalog
Zakładając, że użytkowników masz w tabeli `members` i wyciągasz z nich pole `name`:
  1. SELECT `m`.`name`,
  2. count(*) AS `total`
  3. FROM `topics` AS `t`
  4. JOIN `members` AS `m`
  5. ON `m`.`id` = `t`.`member_id`
  6. WHERE `t`.`forum_id` = 2
  7. GROUP BY `t`.`member_id`
  8. ORDER BY `total` DESC;
jacobson
no to byloby cos w rodzaju select count(*) from tematy group by user_id
0day
Okej, o resztę zapytam już Smoka. Dzięki za pomoc! tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.