![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 1.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Opis problemu: Schemat bazy na potrzeby rozwiązania problemu: Tabela: filmy: - film_id - tytul - ... Tabel: aktorzy: - aktor_id - nazwisko Tabela: rezyserowie: - rezyser_id - nazwisko Tabela: film: - film_id - aktor_id - rezyser_id Krok 1: Pojawia się formularz w którym wybieramy ilu aktorów i ilu reżyserów chcemy dodać -> Krok 2: Po wysłaniu formularza pierwszego strona się odświeża i zostaje wygenerowany formularz z: - tytułem - gatunkiem ... + - polami aktor w liczbie odpowiadającej tej z kroku pierwszego. - polami reżyser w liczbie odpowiadającej tej z kroku pierwszego. Problem pojawia się podczas dodawania filmu do bazy danych, mianowicie: - najpierw dodajemy dane do tabeli filmy - prosty INSERT z danymi z formularza. - później dodajemy dane do tabeli aktorzy - nieco trudniejsze rozwiązanie, gdyż nie wiemy(na sztywno) ilu ich jest, ale z pomocą przychodzą nam pętle. Identycznie postępujemy z tabela rezyserowie. Pytanie: jak dodać dane do tabeli film? 1. Zapytaniem: 1 - pobierzemy film_id ostatnio dodanego filmu? Jak pobrać ostatnio dodanych aktorów i reżyserów? I wstawić ich do tabeli film razem z odpowiadającą im wartością film_id? ----------------------- Pytania na później: - Jak rozwiązać sytuacje gdy aktor/reżyser o podanym nazwisku jest już w bazie? - Odnoszę wrażenie jakbym robił to jakoś naokoło, może istnieje jakiś prostszy sposób dodania filmu do bazy przy założeniach: - aktorzy w bazie nie mogą się powtarzać. - reżyserowie nie mogą się powtarzać. - tabela filmy nie może zawierać 50 pól aktor/reżyser z czego 40 na wszelki wypadek (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A po co tak się motać? Skoro najpierw dodajesz film to chyba logiczne, że TO TEN rekord będzie Cię interesował. Zrób więc zaraz po INSERT last_insert_id() i zapamiętaj go w zmiennej jakiejś. Użyjesz go potem w zapytaniach gdzie masz użyć owego id (IMG:style_emoticons/default/smile.gif)
Sprawdzanie to proste zapytanie do bazy. Najprościej byłoby kombinować na jeden z 2 sposobów: 1) Sprawdzasz dopiero PODCZAS dodawania czy owi aktorzy/reżyserzy są już w bazie i jeśli tak to przechwytujesz ich id, a brakujących dodajesz 2) Formularz konstruujesz jako AJAX i autocomplete robisz (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 11:41 |