![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, chciałbym ponownie prosić Was o wsparcie. Poddałem się.
Otóż: Mam dwie tabele: Zawodnicy i Mecze. Dla uproszczenia Zawodnicy to: id_zawodnik, a Mecze to: id_mecz, id_zawodnik1, id_zawodnik2, pkt_zawodnik1 W momencie rozegrania meczu do tabeli Mecze dodaje 2 wpisy, np. id_mecz:1 (AI), id_zawodnik1:5, id_zawodnik2: 6, pkt_zawodnik1: 3 id_mecz:2 (AI), id_zawodnik1:6, id_zawodnik2: 5, pkt_zawodnik2: 1 I teraz do sedna: chce wyświetlić rozegrane mecze w formie tabeli (Jakiś znaleziony przykład). Umiem to zrobić tylko w bardzo złe sposoby. 1) poprzez SQL'a w pętli podczas generowania tabeli. Dla każdej komórki tabeli sprawdzam czy istnieje mecz where id_zawodnik1 = and id_zawodnik2 = . Co jest oczywiście głupie bo liczba zapytań będzie rosła wraz z liczbą zawodników. 2) Na początku miesiąca wstawiam do tabeli mecze mecze każdy z każdym z jakąś wartością, która powie mi, że te mecze to "fake". To rozwiązanie też mi sie nie podoba bo musiałbym co miesiąc o to dbać (w sensie znowu "jakoś" to zautomatyzować), a po drugie po co mi w tabeli wpisy, które nie są rzeczywistymi meczami. :/ No więc robiąc LEFT JOIN mogę sobie odebrać tylko i ażwszystkie rozegrane mecze. Chciałbym to uzupełnić o wszystkie warianty dla każdego zawodnika (przykład niżej) Nie umiem teraz obrobić tych danych w taki sposób, żeby móc to wyświetlić w tabeli jaką pokazałem wyżej. Przydałoby mi się mieć coś na zasadzie: id_zawodnik vs id_zawodnik2 1 vs 2 (JEŚLI TAK: echo pkt_zawodnik1, JEŚLI NIE: echo 'bd') 1 vs 3 (JEŚLI TAK: echo pkt_zawodnik1, JEŚLI NIE: echo 'bd') 1 vs 4 2 vs 1 2 vs 3 2 vs 4 ... Może mi ktoś podpowiedzieć jak mogę otrzymać wyniki w takiej formie (php lub mysql)? Ten post edytował Zdziho 11.04.2016, 12:03:41 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:44 |