Witam,
potrzebuję pobrać wartość 1 - gdy checkbox jest zaznaczony i 0, gdy jest odznaczony.
HTML:
<input type="checkbox" name="data[color][]" class="color" value="1" checked>
Tablica data - przechowuje jeszcze inne dane, które są pobierane z input
typu text
oraz select
. To działa prawidłowo. Problem się pojawia, gdy próbuję pobrać dane z input
typu checkbox
.
Krótki opis "projektu":
Skrypt ma za zadanie dodać kilka rekordów do bazy danych jednocześnie. Na start jest dostępna jedna sekcja do wprowadzenia danych, dla pojedynczego rekordu - przy użyciu JS po kliknięciu w odpowiedni button - pojawia się następna sekcja i tak do pewnej maksymalnej liczby sekcji/możliwych rekordów.
Ogólnie skrypt działa poprawnie - rekordy się dodają. Problem jest z kolumną color
, która pobiera dane z w/w checkboxa.
Po wysłaniu formularza - następuje reorganizacja tablicy, aby jakoś to rozsądniej przedstawić. Kod PHP:
foreach($data as $columnName => $columnValues){
foreach($columnValues as $rowIndex => $columnValue){
$result[$rowIndex][$columnName] = $columnValue;
}
}
Aby dostać się do wartości:
foreach($result as $r => $value){
// dane
}
W foreach
następuje sprawdzenie:
if(isset($value['color'])){
$color = 1;
} else {
$color = 0;
}
O ile przy ilości rekordów <= 2 działa poprawnie, to jak jest > 2 wartości nie są poprawnie przypisywane. Co powinienem uwzględnić, na co zwrócić uwagę?
Jeśli trzeba więcej informacji - proszę pisać. Wydaje się, że wszystko co z tym związane wkleiłem.
Pozdrawiam.