Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Przy łączeniu tabel problem
Forum PHP.pl > Forum > Przedszkole
Ayrox
  1. <?php
  2. $zapytanie = "SELECT * from `friends`, `uzytkownicy` WHERE `zapraszajacy` = '$user' OR `zaproszony` = '$user' AND `status` = '1' ORDER BY 'kiedy' DESC LIMIT 0, 4";
  3. ?>


Z tabeli uzytkownicy chciałbym odczytać, który użytkownik jaki ma kolor loginu (na serwisie dzieczyny mogą sobie różne kolory loginu ustawiać, kiedy ich login będzie gdzieś wyświetlany), lecz tutaj przy znajomych odczytuje dla każdego użytkownika z taabeli friends, kolejny następny kolor z tabeli użytkownicy.
rafalp
Nie wiem czy dobrze rozumiem. ale może tak:

  1. "SELECT * from `friends`, `uzytkownicy` WHERE (`zapraszajacy` = '$user' OR `zaproszony` = '$user') AND `status` = '1' ORDER BY 'kiedy' DESC LIMIT 0, 4"


Czyli z nawiasem.
Ayrox
tak, tylko to wszystko to jest to samo odczytywane z tabeli friends, teraz chciałbym odczytać kolorloginu z tabeli uzytkownicy, a login uzytkownika to wlasnie zwraca to co jest w nawiasie.

teraz nie mówie, że coś tu nie działa tylko w tym przypadku nie wiem dlaczego z tabeli uzytkownicy odczytuje koloryloginow wszystkich uzytkownikow po kolei, a nie tego na którego wskazuje zapytanie wewnątrz nawiasu
rafalp
To chyba musiał byś jeszcze zapotać strukture wszystkich tabel (user, friends i inne jeśli są jakieś relacje)
Ayrox
a więc tak:
JoShiMa
JOINem kolego JOINem go smile.gif
Ayrox
Że joinem to wiem, tylko nie wiem jak to w praktyce w tym przypadku ;/

przy tym zapytaniu co napisałem już jest blisko, tylko że zamiast odczytywać każdego użytkownika, na który wskazuje to co w nawiasie to, to odczytuje koloryloginow wszystkich uzytkownikow po kolei z tabeli uzytkownicy smile.gif
JoShiMa
a chcesz kolor zapraszającego, czy zaproszonego? W polach zapraszajacy|zaproszony| są loginy z tabeli uzytkownicy?
kefirek
Może tak zobacz
  1. $zapytanie = "SELECT f.*, u.* from `friends` f
  2. LEFT JOIN `uzytkownicy` u ON f.zapraszajacy=u.kolorloginu OR f.zaproszony=u.kolorloginu
  3. WHERE `status` = '1' ORDER BY 'kiedy' DESC LIMIT 0, 4";
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.