Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php[[mysql]łączenie tabel
Forum PHP.pl > Forum > PHP
jarmiar
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
nevt
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';
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.