php odczyt stanu chceckbox z każdego wiersza tabeli

0

Witam
Mój problem nie jest skomplikowany tzn. wyświetlam przypakowy wycinek tabeli z bazy (np. MySQL) produkuje go na stronkę i przy każdym wierszu dodatkowo produkuję checkbox. Pytanie jak odczytać, które checkboxy zostały zaznaczone i przyporządkować je do określonych wierszy w tabeli, ponieważ mają one modyfikować pole boolean danego wiersza tabeli. Pomyślałem że może w nazwie checkbox umieścić ID wiersza tabeli, ale z drugiej strony skąd będę wiedział jakie akurat nazwy checkboxów na stronce się znajdują.

Byłbym wdzięczny za jakiś przykładowy kod, który odczytuje wartości checkboxów na stronce i w zależności od ich zaznaczenia modyfikuje wartość boolean pola - odpowiednika wiersza w tabeli. Chodzi o to żeby zastosować odpowiednią pętle, która odczytuje wartość checboxa i modyfikuje wartość pola w tabeli.

0
<input type=checkbox name='IDs[]' value='id_z_bazy'>
<?php
  print_r($_GET['IDs']);
?>

Pisane z palca, ale idea jest taka. Jezeli zaznaczysz checkboxa to id bedzie w tablicy $_GET['IDs']. Czyli mozesz zrobic sobie


$id_zaznaczone = implode($_GET['IDs'], ",");
... update tabela set boolean=true where id in ($id_zaznaczone);
... update tabela se boolean=false where id not in($id_zaznaczone);
0

tak się robi, ale skoro pytasz "skąd mam wiedzieć", to przypomnę o istnieniu superglobalnej $_POST, którą można traktować jako zwykłą tablicę :>

0

Teraz już rozumiem, tok myślenia miałem z aplikacji desktopowych, a więc mysłałem że jest zmienna, która określa liczbę komponentów na stronie i w pętli sobie będę badał stan zanaczenia każdego z nich o ile jest on typu checkbox, a tu okazuje się, że zasada jest zupełnie inna, gdyż zaznaczenia przekazywane są w taki sposób że do zmiennej odbierającej POST lub GET przekazywane są po prostu nazwy zaznaczonych checkboxów jeśli są zaznaczone i trzeba tą zmienną potraktować jako tablicę w przeciwnym razie uzyskamy w zmiennej uzyskamy tylko nazwę ostatniego zaznaczonego elementu checkbox.

No dobra tylko teraz co mam zrobić jeżeli chce aby checkbox oddawał stan pola boolean tabeli, próbowałem w <input typ="checkbox"> dać [checked], ale ta opcja nie działa albo źle ją deklaruje bo checkbox jest odznaczony. Wdzięczny byłbym za jakiś krótki kodzik odzwierciedlający stan checkboxa w zależności od bola boolean tabeli (właściwie tiny - MySQL).

0
if ($wartosc==1){$checked="checked=\"checked\"";}
else {$checked="";}
echo "<input type=\"checkbox\" value=\"1\" name=\"jakis_id\" $checked />";

1 użytkowników online, w tym zalogowanych: 0, gości: 1