Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie MYSQL
Earth
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 2
Dołączył: 6.12.2006

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


  1. <?php
  2. $result = mysql_query("SELECT * FROM `fusion_nfsu2_ranking` 
  3. ORDER BY `fusion_nfsu2_ranking`.`result` ");
  4.  
  5. while ($data = mysql_fetch_array($result)) {
  6. $query = mysql_query("SELECT `user_name` , `user_aim` , `user_yahoo` 
  7.  FROM `fusion_users` WHERE user_id = '".$data['user_id']."'");
  8. if ($data_user = mysql_fetch_array($query)) {
  9. echo "<TR><TD>".$data_user['user_name']."</TD><TD>".
  10.  $data_user['user_aim']."</TD><TD>".
  11.  $data_user['user_yahoo']."</TD><TD>".$data['last']."</TD><TD>".
  12.  $data['result']."</TD></TR>";
  13.  }
  14. }
  15. ?>


Czy nie da się tego skrócić do jednego zapytania? Według mnie powyższe rozwiązanie zabiera zbyt dużo czasu.
Go to the top of the page
+Quote Post
defrag
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 3
Dołączył: 15.01.2007

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


Moze podzapytanie?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. SELECT `user_name` , `user_aim` , `user_yahoo`
  2. FROM `fusion_users` WHERE user_id IN (SELECT user_id FROM `fusion_nfsu2_ranking` ORDER BY `fusion_nfsu2_ranking`.`result`)
Go to the top of the page
+Quote Post
kwiateusz
post
Post #3


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005




  1. SELECT u.user_name , u.user_aim , u.user_yahoo FROM fusion_users u
  2. LEFT JOIN fusion_nfsu2_ranking r ON r.user_id=u.user_id


powinno zadziałać
Go to the top of the page
+Quote Post
Earth
post
Post #4





Grupa: Zarejestrowani
Postów: 169
Pomógł: 2
Dołączył: 6.12.2006

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


Cytat(defrag @ 25.06.2007, 23:29:25 ) *
Moze podzapytanie?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. SELECT `user_name` , `user_aim` , `user_yahoo`
  2. FROM `fusion_users` WHERE user_id IN (SELECT user_id FROM `fusion_nfsu2_ranking` ORDER BY `fusion_nfsu2_ranking`.`result`)


Wtedy nie będzie result i last. (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Cytat(kwiateusz @ 25.06.2007, 23:32:09 ) *
  1. SELECT u.user_name , u.user_aim , u.user_yahoo FROM fusion_users u
  2. LEFT JOIN fusion_nfsu2_ranking r ON r.user_id=u.user_id


powinno zadziałać


(IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) Można jakieś wyjaśnienia.

Ten post edytował Earth 25.06.2007, 23:16:07
Go to the top of the page
+Quote Post
kwiateusz
post
Post #5


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005




http://www.w3schools.com/sql/sql_join.asp

jak potrzebujesz result i last podejrzewam ze z fusion_nfsu2_ranking to powino to być:

  1. SELECT u.user_name , u.user_aim , u.user_yahoo, r.result, r.last FROM fusion_users u
  2. LEFT JOIN fusion_nfsu2_ranking r ON r.user_id=u.user_id


pisane z palca (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Earth Podstawy relacyjnych baz danych sie klaniaja. Manual, manual i jeszcze raz manual.
Go to the top of the page
+Quote Post
Earth
post
Post #7





Grupa: Zarejestrowani
Postów: 169
Pomógł: 2
Dołączył: 6.12.2006

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


Cytat(SongoQ @ 26.06.2007, 00:22:04 ) *
@Earth Podstawy relacyjnych baz danych sie klaniaja. Manual, manual i jeszcze raz manual.

Zgadza się (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Trzeba się dokształcić. Wybrałem kilka książek, w kolejności które mi się najbardziej spodobały. Nie chciałem już zaśmiecać forum, więc zapytam się tu którą mi byście polecali.
http://helion.pl/ksiazki/msqalm.htm
http://helion.pl/ksiazki/msqlpo.htm
http://helion.pl/ksiazki/msqss2.htm
Go to the top of the page
+Quote Post
kwiateusz
post
Post #8


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005




Jest oddzielny temat na Hydeparku ad książek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ale poza konkursem nad 2gą sam sie zastanawiam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Earth Jak na podstawy to polecam pierwsza pozycje. Chodz 2 tez jest calkiem calkiem sobie.
Go to the top of the page
+Quote Post
Earth
post
Post #10





Grupa: Zarejestrowani
Postów: 169
Pomógł: 2
Dołączył: 6.12.2006

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


Cytat(kwiateusz @ 25.06.2007, 23:21:15 ) *
http://www.w3schools.com/sql/sql_join.asp

jak potrzebujesz result i last podejrzewam ze z fusion_nfsu2_ranking to powino to być:

  1. SELECT u.user_name , u.user_aim , u.user_yahoo, r.result, r.last FROM fusion_users u
  2. LEFT JOIN fusion_nfsu2_ranking r ON r.user_id=u.user_id


pisane z palca (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Zamieniłem LEFT na RIGHT i działa OK
SELECT u.user_name , u.user_aim , u.user_yahoo, r.result, r.last FROM fusion_users u
RIGHT JOIN fusion_nfsu2_ranking r ON r.user_id=u.user_id

Ale książki nie mam, bo w Wawie cienko z "almanachem MySQL" (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Powiedzieli, że w Katowicach mogę znalaźć, a Warszawie ostatnią mieli w Czerwcu. Postram się w Helionie zamówić. Tylko teraz znowu za JavaScript się zabrałem i czasu braknie.
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: 11.12.2025 - 14:16