![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 25.12.2008 Skąd: Żory Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie bazę gdzie są tabele:
Kod tabela1 | tabela łącząca | tabela2 kurs | kurs_grupy | grupa Plik pwk.php odpowiada za wyświetlenie, edycję i usuwanie kursów, plik pwg.php odpowiada za wyświetlanie, edycję i usuwanie grup. Tworzę nową grupę, przypisuje jej odpowiedni kurs i wszystko śmiga - pwg.php pokazuje nową grupę z kursem. Kiedy usuwam kurs, usuwa mi się rekord w tabeli `kurs_grupy` oraz w tabeli `kurs`. Plik pwg pokazuje mi grupę ale bez kursu - czyli ok. Chciałbym, aby w momencie kliknięcia na "edytuj grupę" mieć możliwość wybrania nowego kursu dla istniejącej grupy. W chwili obecnej mam:
1 zapytanie pomijamy bo dotyczy tabeli `grupa`. 2 zapytanie jest poprawne w momencie, kiedy mam w tabeli `kurs_grupy` rekord odpowiedzialny za połączenie tych 2 tabel. Biorąc pod uwagę, że podczas usuwania kursu tracę rekord w tabeli łączącej, wydaje mi się, że potrzebne jest zapytanie "insert into ..." ale nie wiem jak je uwarunkować. Czy jest ktoś w stanie mi pomóc? Mam nadzieję, że w miarę jasno opisałem problem. Pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Z tego co rozumiem , jeżeli w tabeli łączącej grupa nie ma rekordu z odpowiadającym mu kursem chcesz mieć możliwość wyboru nowego kursy dla grupy? Więc .... INNER JOIN z limitem 1 (tak dla swietego spokoju") grupy na tabele łączącą i sparwdzasz warunkiem
Chyba rozrysowałem szkic jak to powinno działać ? ![]() no i wtedy do update tabeli łączącej dajesz id_kursu = $_POST['id_grupy'] (albo z radio - wyboru, lub hidden gdy ma już przypisany kurs) Ten post edytował melkorm 11.01.2009, 21:43:19 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 25.12.2008 Skąd: Żory Ostrzeżenie: (0%) ![]() ![]() |
No u mnie to wygląda tak:
Czy to trochę zmienia postać rzeczy ? Kod który napisałeś nie wiem jak zastosować (ten html) bo ja to mam w formularzu edycji, więc nie powinienem powielać? I czemu id_kursu = $_POST['id_grupy']? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Aua. Śmietnik.
Zrób sobie var_dump'a na wynik 1 zapytania (select grupy*) i zobaczysz że gdy w tabeli łączącej nie będzie rekordu dla grupa <-> kurs wartości tych pul będa miał wartość NULL, i na tym możesz oprzeć swój warunek dla zapytania insert dla tabeli łączącej. Ale jak już mówi strasznei czyta isę ten kod - aliasy ... nie msuzisz się odwoływać nazwa_tabeli.nazwa_pola ale przez aliasy np:
Ten post edytował melkorm 11.01.2009, 22:11:56 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 25.12.2008 Skąd: Żory Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie potrafię stworzyć tego warunku.
Nie wiem co przyrównać do null
Ok już załapałem, miałem dać $id_kursu ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:19 |