Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP] Pola powiązane, Dodawanie do MySQL różnej ilości inputów powiązanych.
Forumowicz
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.06.2014

Ostrzeżenie: (0%)
-----


Witam,
Proszę o sugestie lub linki aby rozwiązać następujące zadanie (chodzi o osoby powiązane z pierwszą).
Mam dwa pola input typu text (imię i nazwisko) - zestaw 1, obok nich również dwa takie same pola - zestaw 2 do powiązania z 1 i przycisk dodaj
kolejny powiązany.
Po wciśnięciu dodaj pojawia się trzeci zestaw do powiązania z 1 - imię i nazwisko, po kolejnym naciśnięciu czwarty itd.
Są to wszystko zestawy powiązane z tym pierwszym.
Zrobiłem graficzne dodawanie kolejnych zestawów w jQuery ale jak to wszystko dodać do mySQL gdzie dla kolejnego zestawu może być różna ilość powiązanych.
Domyślam się, że bardziej profesjonalnie należało by zrobić obsługę gdzie w pierwszej tablicy byłby pierwszy zestaw z ID,
w drugiej natomiast tablicy wszystkie zestawy powiązane posiadające ten sam ID zestawu z tablicy pierwszej oraz swój ID.

Ten post edytował Forumowicz 15.04.2016, 20:54:32
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Co do struktury bazy to ja widzę 2 możliwości:
1. Tworzysz jedną tabelę i w niej pole np powiązany. Dla tej pierwszej osoby ustawiasz na null/0, dla pozostałych wstawiasz ID tej pierwszej.
2. Tak jak napisałeś 2 tabele.

Samo dodawanie to w sumie przechwycenie formularza (dajesz dla pierwsze np name="glowny", a dla pozostałych name="dodatkowe[]") i zapisanie do bazy.
Go to the top of the page
+Quote Post
Forumowicz
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.06.2014

Ostrzeżenie: (0%)
-----


Cytat(kapslokk @ 15.04.2016, 22:07:32 ) *
Co do struktury bazy to ja widzę 2 możliwości:
1. Tworzysz jedną tabelę i w niej pole np powiązany. Dla tej pierwszej osoby ustawiasz na null/0, dla pozostałych wstawiasz ID tej pierwszej.
2. Tak jak napisałeś 2 tabele.

Samo dodawanie to w sumie przechwycenie formularza (dajesz dla pierwsze np name="glowny", a dla pozostałych name="dodatkowe[]") i zapisanie do bazy.


Próbuję obecnie przechwycić tak tylko testując przez:
$("form#form1 input:text").each(function(){
alert("mam - "+$(this).attr('name')+' - '+$(this).val());
});

ale z racji, że jestem nowicjuszem proszę o rozwinięcie " name="dodatkowe[]" bo właśnie nie wiem jak rozróżnić kolejne zestawy z name.
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jak dodajesz nowe pole formularza to dodawaj tak żeby to pole miało name="dodatkowe[]" czyli np:
  1. <input type="text" name="dodatkowe[]" />
wyślesz w ten sposób tablice do php.
Go to the top of the page
+Quote Post
Forumowicz
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.06.2014

Ostrzeżenie: (0%)
-----


Cytat(kapslokk @ 15.04.2016, 22:22:20 ) *
Jak dodajesz nowe pole formularza to dodawaj tak żeby to pole miało name="dodatkowe[]" czyli np:
  1. <input type="text" name="dodatkowe[]" />
wyślesz w ten sposób tablice do php.


Mhm... nie znałem tego rozwiązania. Przetestuję. Potem przechwycić to jQuery i w pętli przekazywać ajaxem do php'a żeby wrzucić do MySQL czy jakoś inaczej ?
Go to the top of the page
+Quote Post
kapslokk
post
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wystarczy, że wyślesz formularz, nie musisz AJAX'em - no chyba, że lubisz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Forumowicz
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.06.2014

Ostrzeżenie: (0%)
-----


Dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:15