Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [MySQL][HTML][PHP] skrzyżowanie dwóch tabel i zapis wybranych par do trzeciej

Napisany przez: esos 4.07.2018, 21:21:56

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.

Napisany przez: trueblue 4.07.2018, 21:25:35

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ą.

Napisany przez: esos 4.07.2018, 21:27:15

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".

Napisany przez: trueblue 4.07.2018, 21:38:06

Pętla w pętli. Jedna po wierszach, druga po kolumnach.
Zacznij od tego, od tabeli w HTML z pustymi komórkami.

Napisany przez: esos 5.07.2018, 12:20:33

Dziękuję - racja!
Sprawdziłem - pięknie się generuje smile.gif

Temat do zamknięcia.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)