Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Checkbox tablica
Forum PHP.pl > Forum > Przedszkole
pitu
Witam

Wykonuje formularz w wieloma checkboxami. Są one pogrupowane w kategoriach. Chciałem dla każdej kategorii zrobić tablicę z wartościami.

Dla przykładu
Kod
<input name="dodatkowe[]"  type="checkbox" value="1" />
<input name="dodatkowe[]"  type="checkbox" value="1" />
<input name="dodatkowe[]"  type="checkbox" value="1" />


Przy zaznaczeniu trzech checkboxów zwraca:
  1. Array ( [0] => 1 [1] => 1 [2] => 1 )


Natomiast przy zaznaczeniu np. 2 i 3:
  1. Array ( [0] => 1 [1] => 1 )


Czyli numeruje od zera.

Proszę o jakąś poradę jak rozróżnić pola, nie chcę zbytnio robić dla każdego pola osobnej zmiennej. Lecz jeżeli to jedyne wyjście to proszę o informację.
Uriziel01
Nie będę się sam rozpisywał gdyż to bez sensu ale z chęcia podam ci pomocną linkę:
http://www.plus2net.com/php_tutorial/array_checkbox.php

Heh wygląda na to że nie doczytałem Twojego pytania niestety. Przepraszam oczywiście i już się reflektuję.
Myślałeś nad JS ? Mógł byś automatycznie dopisywać coś do nazwy lub wartości. Mając wartości typu '1_1','2_0','3_1' gdzie pierwsza część to numer checkboxa a dopiero druga to wartość powinno być już dużo prościej. Oczywiście możesz też każdemu nadać indywidualny name i problem znika sam z siebie. Nie jest to zbyt problematyczne bo znów można to zautomatyzować po stronie JS.
pitu
Chciałbym mieć to w tablicy, a nie każdy pod inną nazwą. Co do JavaScript to odpada.
Próbowałem z polami typu hidden lecz przy kilku polach wysyła wyniki nie takie jak powinno.

Rozwiązanie:
Kod
<input name="dodatkowe[1]"  type="hidden" value="0" /><input name="dodatkowe[1]"  type="checkbox" value="1" />
<input name="dodatkowe[2]"  type="hidden" value="0" /><input name="dodatkowe[2]"  type="checkbox" value="1" />
<input name="dodatkowe[3]"  type="hidden" value="0" /><input name="dodatkowe[3]"  type="checkbox" value="1" />
-kaem-
A czy tylko to nie wystarcza -->
  1. <input name="dodatkowe[1]" type="checkbox" value="1" />
  2. <input name="dodatkowe[2]" type="checkbox" value="1" />
  3. <input name="dodatkowe[3]" type="checkbox" value="1" />
?
pitu
Nie, niezaznaczone checkboxy nie są przekazywane. Można tak zrobić ale w PHP trzeba sprawdzać czy zmienna jest ustawiona.
Evinek
Powiedz co chcesz dokładnie z tym zdziałać.
Usunąć te dane zaznaczone czy jak?
pitu
Wyżej dałem rozwiązanie. Dane służą do sprawdzania danych w bazie danych.
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.