Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Formularz z wieloma checkbox
Forum PHP.pl > Forum > Przedszkole
brzanek
Wiem że problem banalnie prosty jednak nie potrafię sobie z nim poradzić.
W formularzu mam kilka checkboxów

  1. echo '<label for="name"><h4>Zaznacz zagrożony Powiat </h4></label>';
  2. echo '<div>';
  3. echo '<label class="checkbox-inline">';
  4. echo "<input type='checkbox' id='inlineCheckbox1' value='swinoujscie' name='ost_powiat' ";if($ost_powiat=='swinoujscie'){echo" checked='checked' ";} echo">Świnoujście
  5. </label>";
  6. echo '<label class="checkbox-inline">';
  7. echo "<input type='checkbox' id='inlineCheckbox2' value='kamienpomorski' name='ost_powiat' ";if($ost_powiat=='kamienpomorski'){echo" checked='checked' ";} echo">Kamień Pomorski
  8. </label>";
  9. echo '<label class="checkbox-inline">';
  10. echo "<input type='checkbox' id='inlineCheckbox3' value='gryfice' name='ost_powiat' ";if($ost_powiat=='gryfice'){echo" checked='checked' ";} echo">Gryfice
  11. </label>";
  12. echo '<label class="checkbox-inline">';
  13. echo "<input type='checkbox' id='inlineCheckbox4' value='kolobrzeg' name='ost_powiat' ";if($ost_powiat=='kolobrzeg'){echo" checked='checked' ";} echo">Kołobrzeg
  14. </label>";
  15. echo '<label class="checkbox-inline">';
  16. echo "<input type='checkbox' id='inlineCheckbox5' value='koszalin' name='ost_powiat' ";if($ost_powiat=='koszalin'){echo" checked='checked' ";} echo">Koszalin
  17. </label>";
  18. echo '</div>';


Jeśli zaznaczę kilka naraz to do bazy trafia tylko ostatni zaznaczony. Jak zrobić aby wszystkie zaznaczone trafiały do bazy danych do jednej tabeli o nazwie ost_powiat.
kapslokk
Zamiast
  1. name='ost_powiat'

zrób
  1. name='ost_powiat[]'


Wtedy do skryptu prześlesz tablicę z wartościami zaznaczonych checkboxów.
brzanek
Po dodaniu
  1. name='ost_powiat[]'

Czyli
  1. echo '<label class="checkbox-inline">';
  2. echo "<input type='checkbox' id='inlineCheckbox1' value='swinoujscie' name='ost_powiat[]' ";if($ost_powiat=='swinoujscie'){echo" checked='checked' ";} echo">Świnoujście
  3. </label>";
  4. echo '<label class="checkbox-inline">';
  5. echo "<input type='checkbox' id='inlineCheckbox2' value='kamienpomorski' name='ost_powiat[]' ";if($ost_powiat=='kamienpomorski'){echo" checked='checked' ";} echo">Kamień Pomorski
  6. </label>";
  7. echo '<label class="checkbox-inline">';
  8. echo "<input type='checkbox' id='inlineCheckbox3' value='gryfice' name='ost_powiat[]' ";if($ost_powiat=='gryfice'){echo" checked='checked' ";} echo">Gryfice
  9. </label>";

Po zaznaczeniu kilku opcji do bazy danych trafiła nazwa Array a nie nazwa checkboxa
kapslokk
Bo musisz sobie zmodyfikować skrypt tak, żeby Ci generowal zapytanie na podstawie tego co masz w tej tablicy, a nie wstawial zmienną w ciemno.
brzanek
Dałem coś takiego?
  1. foreach($_POST['ost_powiat'] as $value)


Ale nadal nie działa.
patwoj98
Wrzuc var_dump($_POST) i zobaczysz co dociera.
brzanek
hmm ale gdzie mam to wrzucić?
kapslokk
Nawet na początek pliku. Wykaż troche własnej inwencji...
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.