Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php[[mysql]łączenie tabel
jarmiar
post 23.02.2008, 15:31:44
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Witam,

Mam 2 tabele w bazie.

users

i

friend



i chcę wyświetlić teraz znajomych dla usera o ID 5

więc robię tak

  1. <?php
  2. $zapytanie = mysql_query("SELECT `user_id`, `friend_id` FROM `friends` WHERE `user_id`='5'");
  3. whiile($row=mysql_fetch_row($zapytanie))
  4. {
  5.  
  6. //to mi jedynie wyświetli id userów (znajomych) dla uzytkownika o ID 5
  7. //a chcę tu wstawić żeby wyświetlało się imie, nazwisko i wiek, które znajdują się
     w tabeli users
  8. //więc robiłem to za pomocą kolejnego zapytania
  9. $zap = mysql_query("SELECT `id`, `name`, `surname`, `age` FROM `users` WHERE `id`='".$row[1]."'");
  10. //i tu kolejna pętla while
  11. //lecz tutaj tylko wyświetlało mi jedneo znajomego, chociaż w tabeli było ich zupe
    łnie więcej
  12.  
  13. }
  14. ?>


czy ktoś ma inny pomysł na tego typu przedstawienie danych?
może coś źle robię?

edit. w poście mogą się pojawić drobne literówki lub błędy.
w rzeczywistości mój skrypt nie zwraca żqadnych błędów tylko wyświetla jednego znajomego


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
nevt
post 23.02.2008, 18:36:32
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


wystarczy chyba 1 zapytanie...
  1. SELECT * FROM `users` LEFT JOIN `friends` USING (`user_id`) WHERE `friend_id` = '5';

z twojego opisu nie wynika jak jest zbudowana relecja users <=> friends, wiec możliwe, że poprawne będzie inne rozwiązanie:
  1. SELECT * FROM `users` LEFT JOIN `friends` ON `users`.`user_id` = `fiends`.`friend_id` WHERE `friends`.`user_id` = '5';


Ten post edytował nevt 23.02.2008, 18:40:40


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 17.06.2025 - 12:15