![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Cześć
Założmy że mamy dwie tabele przy_film
prz_gatunek
przy_film_has_przy_gatunek
Każdemu filmowi przyporządkowany jest dokladnie jeden gatunek - jeden gatunek może być przyporządkowany wielu filmom - RELACJA 1:n dla tabeli przy_film_has_przy_gatunek rekordy wyglądaj następująco id_film/id_gatunku 1, 4 2, 4 3, 1 4, 2 5, 3 O ile w wypadku wyświetlania w formularzu rozwijanej listy z gatunkami wszystko jest OK to nie potrafie uporać się z zapisem do bazy. Mała Legenda: $aDBC - ustanawia połączenie do bazy $SQL - zmienna przechowuje zapytanie SQL FieldByName(); - pobiera rekordy z bazy ExecSQL($SQL); - wykonuje zapytanie do bazy SQL Next(); - zwraca kolejne rekordy zapytanie SQL zostalo przerobione z zupełnie innego przykladu, a zmienne dostosowane do moich potrzeb... Formularz wynik pliku php plik php tworzący formularz [php]Gatunek Ten post edytował Czapla 27.06.2008, 09:17:07
Powód edycji: dodałem tag (cysiaczek)
-------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 9 Dołączył: 26.01.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Gatunek trzymany jest tu:
Chyba lepiej zamiast nazwy gatunku w value trzymać jego id
na:
Wtedy user wie co wybiera. A baza ma odrazu id. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
EDIT: PATRZ POST 1
Ten post edytował Czapla 16.06.2008, 10:51:48 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
wyświetl sobie ten formularz w przeglądarce zobacz źródło strony, skopiuj ten kawałek, gdzie jest select/option i pokaż nam tu.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
EDIT: PATRZ POST 1
Ten post edytował Czapla 16.06.2008, 10:51:26 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem tego:
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
bump, problem wciąż aktualny
V ok poprawiłem ale wciąż nie działa ![]() Ten post edytował Czapla 15.06.2008, 16:50:59 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 19 Dołączył: 12.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
jedyne co tu widze i nie rozumiem to to:)
$POST['gatunek']; czy nie powinno być $_POST['gatunek']; |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
W dalszym ciągu czekam na pomoc, napisałem trochę jaśniej i wytłuściłem caly problem, a kod który jest nie aktualny wyrzuciłem, aktualny kod w pierwszym poście.
UWAGA! SZCZEGÓŁY W PIERWSZYM POŚCIE Ten post edytował Czapla 16.06.2008, 10:55:31 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat W rezultacie skrypt zapisze tylko pierwsze pole do bazy danych w liście rozwijanej, a ma zapisać wybrane. Ale pole które? W bazie (a.k.a. kolumna), inny select, czy może masz na myśli wartość selecta, a może po prostu jednego select, bo po kodzie można wywnioskować, że pól wyboru jest trochę więcej. Napisz jaśniej, co chcesz mieć wstawione do bazy, a co zapisuje obecnie (konkretniej!). -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Przerobiłem troche ten skrypt i pozbyłem się tabeli przy_film_has_przy_gatunek wrzuciłem do tabeli przy_film klucz obcy z tabeli przy_gatunek. Być może jeszcze zapytanie jest źle skonstruowane ponieważ skrypt teraz wogujle nie działa
![]() ![]() ZAPYTANIA DO TABEL przy_film
przy_gatunek
NOWE ZAPYTANIE DO LĄCZENIA TABEL WYGLĄDA TAK (proszę o sprawdzenie czy jest poprawne):
Skrypt zapisujący do bazy danych
Skrypt tworzący formularz
Cytat Ale pole które? W bazie (a.k.a. kolumna), inny select, czy może masz na myśli wartość selecta, a może po prostu jednego select, bo po kodzie można wywnioskować, że pól wyboru jest trochę więcej. Tak pól wyboru było więcej ponieważ tamto zapytanie było złożone ale już je przerobiłem. [quote] Napisz jaśniej, co chcesz mieć wstawione do bazy, a co zapisuje obecnie (konkretniej!). [,/quote] Chce zapisywać do tabeli przy_film, id_gatunek, wartość selecta id_gatunek z tabeli przy_gatunek, następnie wyświetlać go po tym właśnie id w polu edycji w selectie jako gatunek [ rekord w tabeli przy_gatunek ] oraz w przeglądzie. Edit a to zapytanie jest źle, po wrzuceniu do phpMyAdmin wypisuje mi że występuje duplikat id_gatunku w dwóch tabelach Ktoś może mi udzielić odpowiedzi co mam nie tak? EDIT: Naniesione poprawki Ten post edytował Czapla 18.06.2008, 12:16:55 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A nie masz przypadkiem jakiegoś babola w tym miejscu?
Chcesz wstawić dwa pola do bazy, a definiujesz tylko jedno... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
racja zarymowałem tą pierwszą linijkę
byłbym wdzięczny gdyby ktoś rzucil okiem na to zapytanie, kod i powiedzial mi co jest nie tak, bo męcze to już od "patrz data pierwszego postu ![]() -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Przyjrzyj się polom, jakie deklarujesz w INSERT i wartościom, jakie podajesz. Jaka jest składnia INSERT?
![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
teraz to ja nie czaje o.O co jest źle?
składnia insert jest taka ![]() INSERT INTO nazwa tabeli (nazwa kolumny1) values (wartości kolumny1) Ten post edytował Czapla 18.06.2008, 20:37:31 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
No właśnie. A w tamtym Twoim jest: nazwaKolumny1 => wartość1, wartość2.
Ta kluczowa jest pomijana. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
-eKuba- |
![]()
Post
#17
|
Goście ![]() |
masz 3 kolumny
|NOT NULL auto_increment | NOT NULL | NOT NULL | a zapytanie wstawia jedną wartość ID_GATUNEK wydaje mi się ze powinno być
a najlepiej zrób echo z tego inserta echo $SQL; i wynik zapytania wykonaj bezpośrednio w bazie, tam wywali ci jaki to błąd. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Tak?
![]()
Wyświetlanie mi w dalszym ciągu nie działa... Ktoś może mi napisać jak powinno wyglądać poprawnie skonstruowane zapytanie i skrypt, Jedna satysfakcjonująca odpowiedź ![]() Ten post edytował Czapla 19.06.2008, 07:49:27 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cały czas ktoś próbuje. ;]
Cytat Wyświetlanie mi w dalszym ciągu nie działa... A masz tu wyświetlanie? Uporządkuj wszystko w całość (mam na myśli tłumaczenie) logicznie, to wtedy będzie można szybciej dojść do rozwiązania. Poza tym, IMHO, trochę jesteś niekonsekwentny; w jednym miejscu używasz funkcji ze swojej klasy abstrakcji DB, a w drugim już funkcji dotyczących obsługi konkretnej bazy. Cytat
Nie rozumiem tu np. sensu pobierania ID ostatnio wstawionego rekordu, skoro go nigdzie nie używasz oraz w ogóle wstawiania wielokrotnie tych samych (!) danych; w końcu nie zmieniasz za każdym przebiegiem pętli zmiennych $ID_GATUNEK i $TYTUL. No chyba, że ta Twoja klasa tworzy takie zmienne, to by się zgadzało, ale tak, czy tak - trochę chaotycznie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
To jeszcze raz:
mamy dwie tabele: przy_film z koumnami id_film [PK], tytul [VARCHAR], id_gatunek [FK] przy_gatunek z kolumnami id_gatunek [PK], gatunek teraz chce aby id_gatunek z przy_film przechowywał wartość id_gatunek z przy_gatunek i na podstawie tego id wyświetlał gatunek z tabeli przy_gatunek w liście rozwijanej. Na podstawie wszystkich informacji można to zrobić tak że opcje z rozwijanej listy wyświetlam selectem z tabeli przy_gatunek, każdej opcji nadaje wartość po id. W pliku set zapisuje to id do id_gatunku w tabeli przy_film. Tylko co jeśli bede chciał ponownie zedytować rekord filmu - będe musial wykonać odwrotne zapytanie? Kod jakim dysponuje: Formularz
Plik zapisu set_
Czyli właściwie cały problem sprowadza się do skonstruowania prawidlowych ZAPYTAŃ do bazy danych... Mam nadzieje że wszystko jasno napisałem ![]() Pozdrawiam Ten post edytował Czapla 20.06.2008, 07:28:14 -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:09 |