Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][HTML][PHP] skrzyżowanie dwóch tabel i zapis wybranych par do trzeciej
Forum PHP.pl > Forum > Przedszkole
esos
Dobry wieczór,

potrzebuję Waszego wsparcia w rozwiązaniu poniższego problemu.

Mam dwie tabele w bazie (MySql), np:

tb przedmiot -> id|nazwa|aktwny
tb czynnosc -> id|nazwa|aktywny

chciałbym stworzyć tabelkę na stronie, która to tabela pozwoli określić, czy pomiędzy przedmiotami a czynnościami jest jakieś powiązanie.
Tak na szybko - coś w tym stylu:



W chwili, gdy wybrana czynność(kolumny) jest realizowana za pomocą przedmiotu(wiersze), chciałbym do trzeciej kolumny, np.:

tb powiazania -> id|przedmiot|czynnosc

wsadzić informację o istniejącym powiązaniu (jeśli jest rekord - istnieje powiązanie, brak rekordu = powiązania nie ma).

Jak to w miarę sensownie ugryźć, by jak najprościej zrealizować na stronie powyższe zadanie? Zaznaczam: zależy mi na jak najmniejszej ilości czynności wykonywanych przez usera.
trueblue
Sam sobie odpowiedziałeś. Musisz dodać w bazie tabelę krzyżową, łącząca obydwie tabele.
Jeśli użytkownik zaznacza "tak", to wpisujesz do tej tabeli rekord na podstawie wiersza i kolumny, jeśli "nie", to usuwasz rekord związany z tym wierszem i tabelą.
esos
No tak, zapomniałem napisać, z czym mam problem...

Problem mam z wygenerowaniem tabeli, gdzie nagłówkami wierszy będą przedmioty, a nagłówkami kolumn będą czynności.

[edit - kolejne doprecyzowanie]

skrypt ma wyrzucić na stronę tabelę, w której każda z komórek na skrzyżowaniu czynności z przedmiotem pozwoli (czy to przez link czy jakiś element formularza) określić, czy powiązanie występuje. Jeśli tak (następuje czynność zmiany z domyślnego NIE na TAK) - dodajemy rekord do tabeli "krzyżowej".
trueblue
Pętla w pętli. Jedna po wierszach, druga po kolumnach.
Zacznij od tego, od tabeli w HTML z pustymi komórkami.
esos
Dziękuję - racja!
Sprawdziłem - pięknie się generuje smile.gif

Temat do zamknięcia.
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-2024 Invision Power Services, Inc.