Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysq] źle sortuje rekordy
Zmorcia
post
Post #1





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

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


Witam mam takie zapytanie

  1. <?
  2.  
  3. $query = mysql_query("SELECT * FROM ".PREFIKS."users WHERE user_name IN (SELECT `reply_user` FROM `".PREFIKS."complete`) ORDER BY");
  4.  
  5. while($row = mysql_fetch_array($query)){
  6.    $userComplete = mysql_num_rows(mysql_query("SELECT * FROM ".PREFIKS."complete WHERE reply_user='".$row['user_name']."'"));
  7.    echo $row['user_name'].' ['.$userComplete .']<br />';
  8. }
  9. ?>


I wynikiem tego mam to:

Kod
Qba [16]
test [1]
Kostka [9]


a chce aby posegregowało mi wg. największej ilośći punków:

Kod
Qba [16]
Kostka [9]
test [1]


Za pomoc dam plusa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Rafal Filipek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


1) co dokladnie ma robic ta koncowka ORDER BY w 1 zapytaniu ? brzmi to jak "sortuj po niczym" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
2) po co to tak rozbijac ? moze nie dzialac bo nie wiem jak wygladaja tabele itp ale chodzi o to ze pobierasz uzytkownikow i od razu liczysz ile jest rekordow w tabeli complete ktore dla danego usera maja kolumne replay_user = user.user_nme
  1. SELECT users.*, count(complete.replay_user) ile FROM users, complete WHERE users.user_name = complete.replay_user GROUP BY users.user_name ORDER BY ile


Ten post edytował Rafal Filipek 10.01.2009, 12:39:17
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Albo zobacz może tak
  1. <?php
  2. $query = mysql_query("SELECT * FROM ".PREFIKS."users WHERE user_name IN (SELECT `reply_user` FROM `".PREFIKS."complete`)");
  3.  
  4. while($row = mysql_fetch_array($query)){
  5.   $userComplete = mysql_query("SELECT *, COUNT(user_name) AS ile
  6.   FROM ".PREFIKS."complete WHERE reply_user='".$row['user_name']."' GROUP BY user_name ORDER BY ile DESC");
  7. while($row1 = mysql_fetch_array($userComplete)){  
  8.  
  9. echo $row1['user_name']." [".$row1['ile']."]<br />";
  10. }
  11. }
  12. ?>


Ten post edytował kefirek 10.01.2009, 13:08:49
Go to the top of the page
+Quote Post
Zmorcia
post
Post #4





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

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


Pierwsze zaraz sprawdze...

a drugi kod, nie działa ;(

z kazego kodu wziąłem po kawałku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) działa thx
Go to the top of the page
+Quote Post

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: 23.08.2025 - 09:00