Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dynamiczna ilość checkbox'ów
Forum PHP.pl > Forum > Przedszkole
Radzio84
Nie bardzo wiem jak rozwiązać następujący problem:
mam formularz z checkbox'ami
Grupa A:
[]czarny

Grupa B:
[]biały
[]czarny
[]zielony

Gdyby ilość grup była znana, wtedy bym zstosował tablicę jako nazwa dla danej grupy:
<input name="grupa_a[]">czarny
<input name="grupa_b[]">biały
<input name="grupa_b[]">czarny
<input name="grupa_b[]">zielony
Jednak grupy oraz kolory poszczególnych grup pobierane są z tabeli, więc nie znam ich ilości. Jak rozwiązać problem z nazwaniem tych grup, aby potem to odczytać i zapisać do bazy?
KCG
Skoro masz zapisane w bazie grupy poszczególnych kolorów, to przecież do name input'a wpisujesz nazwę z bazy.
Czyli np.
echo '<input name="'.$grupa.'[]" /> '.$kolor;
Czy źle zrozumiałem?
Radzio84
Problem polega na tym, że nie potrafię odczytać nazwy grupy (czyli nazwy checkboxa), gdyż nazwa checkobxa jest zmienna - może to być, np. GRUPA A, GRUPA C. Kolory umiem odczytać, ale niestety nie wiem do kótrych grup należą, a potrzebna jest mi nazwa grupy żebym mógł danej grupie przypisać wybrane kolory. Jeśli jest coś niejasne, to śmiało proszę pisać. :-)
KCG
Cytat
Jeśli jest coś niejasne, to śmiało proszę pisać

Będę się krępował tongue.gif
Ale masz zapisaną grupę danego koloru w bazie, tak?
phpion
O ile dobrze zrozumiałem: możesz przelecieć całą tablicę $_POST po indeksie i wartości:
  1. <?php
  2. foreach ($_POST as $index => $value) {
  3. echo $index.': '.$value.'<br />';
  4. }
  5. ?>

Kod ten wypisze Ci wszystkie elementy z tablicy $_POST wypisując ich indeks (klucz) jak i wartość.
KCG
Aaaa, chyba zrozumiałem. To może w następnym pliku pobierz nazwy grup i sprawdzaj, czy istnieje dana tablica?
Radzio84
Cytat(KCG @ 6.02.2008, 21:25:10 ) *
Będę się krępował tongue.gif
Ale masz zapisaną grupę danego koloru w bazie, tak?

Tak, w bazie mam grupy oraz kolory, które mogą wystąpić w danej grupie. :-)

Kod phpion pomógł mi, ale oprócz grup i kolorów przesyłam inne informacje, np. nazwa towaru. Potrzebuję "wyłapać" same grupy i kolory, ponieważ nazwy innych pól są mi znane.
Crozin
A nie możesz zrobić tak:
Kod
<input name="grupy[literka][kolor]" />
A następnie przy użyciu foreach sobie na tym operować?
Radzio84
Już sobie poradziłem: dodałem w name prefix "grupa_" i w foreach sprawdzam, czy w nazwie jest na początku mój przedrostek "grupa_". Jeśli tak, to już wiem, że mam do czynienia z kolorami. smile.gif
Dziękuję za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.