Witam,
mam dwie tabele: `uzytkownicy` (`ID`,`nazwa_uzytkownika`) oraz `mecze` (`gracz1`,`gracz2`,...). W kolumnie `gracz1` są przechowywane ID zawodników, w kolumnie `gracz2` nazwiska są przechowywane tradycyjnie (jako string). Tabele są powiązane kluczem obcym z `meczy` do `użytkowników`:
  1. FOREIGN KEY(`gracz1`) REFERENCES `uzytkownicy`(`ID`)

Chodzi o to, żeby wybrać mecze zalogowanego użytkownika (znamy jego nazwę ($user_name) oraz jego ID). Drobiazg polega na tym, że taki użytkownik może znajdować się zarówno w kolumnie `gracz1` jak i `gracz2`. Jak powinno wyglądać zapytanie, które wyświetli wszystkie mecze tego zalogowanego użytkownika?
Takie coś źle działa, bo jako `gracz1` drukuje wszystkich userów z tabeli `uzytkownicy`:
  1. $r = mysql_query("SELECT mecze.gracz1, mecze.wynik_gracz1, mecze.wynik_gracz2, mecze.gracz2, mecze.kiedy_mecz, uzytkownicy.nazwa_uzytkownika, uzytkownicy.ID FROM mecze,uzytkownicy WHERE mecze.gracz1='$this->id' OR mecze.gracz2 = '$this->user_name'")or die(mysql_error());
  2. while($l = mysql_fetch_array($r))
  3. {
  4. echo "<tr><td>" .$l['nazwa_uzytkownika']. "</td>";
  5. echo "<td><center>" .$l['wynik_gracz1']. "</center></td>";
  6. echo "<td> - </td>";
  7. echo "<td><center>" .$l['wynik_gracz2']. "</center></td>";
  8. echo "<td>" .$l['gracz2']. "</td>";
  9. echo "<td>" .$l['kiedy_mecz']. "</td></tr>";
  10. }

Proszę o pomoc.