[MySQL][PHP]Lista wielokrotnego wyboru wraz z podaniem ilości sztuk |
[MySQL][PHP]Lista wielokrotnego wyboru wraz z podaniem ilości sztuk |
7.02.2020, 20:51:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Cześć.
Posiadam formularz w PHP, w którym chciałbym dodać możliwość wyboru kilku przedmiotów pobieranych z tabeli bazy danych wraz z przypisaniem ilości każdego z nich. Ma ktoś pomysł jak to zrobić, ewentualnie jakiś przykład, którym mógłbym się oprzeć? |
|
|
8.02.2020, 17:15:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Cytat Cześć. Posiadasz może jakiś inny przykład co do listy wielokrotnego wyboru wraz z podaniem ilości sztuk? Przykładowo obecnie w formularzu mam wybór tylko jednego materialu, wycinek mojego formularza z tym związany to:
Przydałoby mi się coś w stylu, że jest jedna lista wyboru, wybieram z niej dany materiał i obok wpisuję ilość. Po tym automatycznie pokazuje się niżej puste pole wyboru listy materiału tak, że znowu mogę wybrać kolejny materiał i obok wpisać ilość. Pozdrawiam. Proszę odpisywać w wątku, nie we wiadomościach prywatnych. Kod const btn = document.querySelector('button'); const vals = [[1,2,45,23],['sdf', 'bc', 'd', 'a']]; function create_el (n_el, attr, what, where) { let arr = []; for(let i=0;i<n_el;i++) { arr.push(document.createElement(what)); if(attr.length == n_el) { arr[i].setAttribute(attr[0], attr[1]+(i+1)+'[]') } where.appendChild(arr[i]); } return arr; } btn.onclick = function() { let arr_n1 = create_el(2, ['name', 'slct'], 'select', document.querySelector('form')); let opt, opt2; for(let j=0;j<arr_n1.length;j++) { for(let i=0;i<vals[0].length;i++) { opt1 = document.createElement('option'); opt1.value = vals[j][i]; opt1.textContent = vals[j][i]; arr_n1[j].appendChild(opt1); } } }; To jest tylko wzór, nie kod, który byłby napisany starannie. Jeśli zechciałbyś skorzystać z tego kodu, najlepiej abyś go przepisał lub poprawił. Ten post edytował Neutral 8.02.2020, 17:15:58 |
|
|
17.02.2020, 14:23:19
Post
#3
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Witam po przerwie
Wykombinowałem możliwość dodania materiałów pod określone zlecenie troszkę inaczej. Mianowicie przy każdym stworzonym zleceniu mam możliwość kliknięcia w nie w celu dodania materiałów (nazwałem to sobie materiały przydzielone). Napotkał mnie jak zwykle problem. Wszystko pięknie działa prócz dodania do bazy pod określone zlecenie materiału. Gdy dodam w bazie (phpMyAdmin) pod określone zlecenie materiały to na stronie www na liście ładnie i się wyświetla. Problem mam więc po stronie kodu, który udostępniam poniżej. Może ktoś podpowie gdzie leży błąd.
|
|
|
17.02.2020, 21:03:59
Post
#4
|
|
Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) |
A może "$_GET['order']" zamiast "$_GET['id']" ?
|
|
|
18.02.2020, 13:48:26
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Niestety nie pomogła ta zmiana :/
|
|
|
18.02.2020, 15:08:50
Post
#6
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Niebardzo rozumiem.
1.Masz dodany rekord i chcesz go aktualizowac czy dodac calkiem nowy. 2.Skad Ci sie tam bierze $_GET['id'] 3.Formularz pokaz. 4.Nie prosciej dla Ciebie zamiast klas zrobic w prostszy sposob ? 5. Jaka ma budowe tabela. 6. header('Location: /assigned_material?order='.$id.''); // a gdzie rozszerzenie? Ten post edytował dublinka 18.02.2020, 15:36:11 -------------------- |
|
|
18.02.2020, 21:00:57
Post
#7
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Lion_87, raczej masz rację, powinno być $id_zlecenia = $_GET['order'];
dublinka, chcę dodać nowy. Dodaję materiał do utworzonego wcześniej zlecenia. Wygląd tabeli materialy_przydzielone: id_zlecenia id_materialu ilosc Kod formularza przydzielenia materiału do zlecenia wygląda tak:
Ten post edytował sauber94 18.02.2020, 21:14:58 |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 06:32 |