Php mysql i pola select - zawartość zależna od wyboru


(Sitemaster) #1

Mam sobie 3 tabele A, B i C

-każda ma po dwa pola, id i nazwa + ewentualny id tabeli nadrzędnej

-każda kolejna jest zbiorem elementów poprzedniej, czyli są połaczone relacjami - chyba tak to mozna nazwać.

Mam też plik z trzema polami typu select odpowiadającymi każdej tabeli

Do pierwszego selecta ładuję wszystkie idA i odpowiadające im nazwy

I teraz chciał bym zrobić tak, żeby po wybraniu jakiegos elementu z pierwszego selecta wykonane zostało zapytanie zwracające do drugiego pola select idB i ich nazwy

Tu z kolei po wybraniu elementu kolejne zapytanie i wypełnienie trzeciego selecta otrzymanymi rekordami.

w select1 wybieram pole 0 (a), to powinno mi pobrać automatycznie z bazy rekordy z tabeli B gdzie idA=0, czyli tu idB=0 i 1 i wpisać je do pola select2.

Z drugiego selecta wybieram dalej np. pole 1 a stosowne zapytanie zwraca mi w trzecim polu select odpowiednie rekordy z tabeli C, tu był by to rekord idC=2

Jak cos takiego zrobić?

Znalazłem coś takiego http://www.kess.snug.pl/?sid=10&pid=30

ale problem w tym że te 3 selecty mam w większym formularzu z innymi polami input, textarea itp.

Jak więc to połączyć by dodać taką funkcjonalność do formulrza typu:

Jak wysyłam ten formularz to ma mi dodać wszystkie wartości do bazy - więc jak tu wcisnąć obsługę tych selectów?

Zagnieżdżanie formularzy czy jak?

Pomocy!


(_mnich) #2

dane pierwszego selecta z bazy

dane drugiego selecta z bazy na podstawie zawartości pierwszego

dane trzeciego selecta z bazy na podstawie zawartości drugiego

...

otrzymasz tablicę przesłaną w poscie

$_POST[arrTablica] = array

(

filds1=> jakas wartość,

filds2=> jakas wartość,

filds3=> jakas wartość,

        A=>array(

                    fildsA=> jakas wartość,

                ),

        B=>array(

                    fildsB=> jakas wartość,

                ),

        C=>array(

                    fildsC=> jakas wartość,

                ),

filds4=> jakas wartość,

filds5=> jakas wartość,


);

później tylko sprawdzasz czy masz tablice w tablicy i czy nie jest pusta i dodajesz na bazie innego selekta wszystko

to tylko podpowiedz może się mylę ale może to cię coś naprowadzi


(Sitemaster) #3

No raczej nie o to chodzi :?

Bazując na stronie http://www.php.rk.edu.pl/w/p/powizane-p ... jce-ajaxa/

zrobiłęm coś takiego:

A plik getm.php:

A nawet tak:.

Pokazuje mi się formularz, kraje ładnie wypełnione a po wybraniu jakiegoś, select miasta zostaje wyczyszczony i nic się w nim nie pojawia - dlaczego? Co jest nie tak w tym kodzie?

ps.

Oczywiście define mam ustawione dla parametrów logowania do bazy


(_mnich) #4

daj link pełen do tego może na gg


(adpawl) #5

Zamiast

daj

a skrypty javascript z w pliku głównym przesuń do sekcji HEAD ....i powinno śmigać.


(Sitemaster) #6

dzięki działa :slight_smile: