mam dwie następujące tabele: `uzytkownicy`(`ID`,`nazwa_uzytkownika`) oraz `mecze`(`gracz1`,`gracz2`).
Powiązane są kluczami obcymi:
FOREIGN KEY(`gracz1`) REFERENCES `uzytkownicy`(`ID`), FOREIGN KEY(`gracz2`) REFERENCES `uzytkownicy`(`ID`)
W tabeli `mecze` w kolumnach `gracz1` oraz `gracz2` przechowywane są ID zawodników. Problem polega na tym, że chcę wybrać wszystkie mecze zalogowanego użytkownika (czyli takie rekordy, gdzie zalogowany użytkownik jest zapisany w polu `gracz1` lub `gracz2`). Znane jest zarówno ID tego zalogowanego użytkownika (pod zmienną $this->id) jak i nazwa (zmienna $this->user_name).
Próbowałem w taki sposób, jednak to bardzo źle działa, bo co prawda wyświetla mecze zalogowanego użytkownika, ale wszędzie wrzuca jego nazwę:
function printGames() { WHERE mecze.gracz1 = uzytkownicy.ID AND mecze.gracz1='$this->id' OR mecze.gracz2 = uzytkownicy.ID AND mecze.gracz2='$this->id'")or die(mysql_error()); { echo "<tr><td><strong>Zawodnik 1</strong></td> <td><strong>Wynik zawodnika 1</strong></td> <td></td> <td><strong>Wynik zawodnika 2</strong></td> <td><strong>Zawodnik 2</strong></td> <td><strong>Mecz rozegrano</strong></td></tr>"; { } } else { } }
Przykładowo, załóżmy, że zalogownym użytkownikiem jest Ewa Szańska. Powyższy fragment powinien zwrócić tabelę wynikową:
Kod
zawodnik1 | wynik_zawodnik1 | wynik_zawodnik2 | zawodnik2
Ewa Szańska 3 0 Jurek KIler
Stefan Siarzewski 3 2 Ewa Szańska
Ewa Szańska 3 0 Jurek KIler
Stefan Siarzewski 3 2 Ewa Szańska
a zamiast tego zwraca:
Kod
zawodnik1 | wynik_zawodnik1 | wynik_zawodnik2 | zawodnik2
Ewa Szańska 3 0 Ewa Szańska
Ewa Szańska 3 2 Ewa Szańska
Ewa Szańska 3 0 Ewa Szańska
Ewa Szańska 3 2 Ewa Szańska
Błąd prawdopodobnie leży w linii 19 metody drukującej dane (jak widać dwa razy drukuję $l['nazwa_uzytkownika'] i dlatego nadpisuje mi pozostałe nazwiska). Jak sobie z tym poradzić?
____________________________________________
Albo inaczej:
jeśli zmodyfikuję pętlę wybierającą na następującą:
{ }
to działa dobrze, ale zamiast nazwy użytkownika drukuje jego ID. Jak zrobić, aby zamiast ID drukowana była nazwa użytkownika?
Z góry dziękuję za pomoc.