Hallo, mal wieder das leidige Thema checkboxen .
Also, ich habe in der DB eine Tabelle namens PERMISSION:
permissionid-----groupid-----forumid----canshow---canread--canreply
Die spalten mit can* werden ausgelesen und als Checkboxen dargestellt. Da das system dynamisch ist, könen auch weitere can* spalten hinzugefügt werden, die dann auch als checkboxen dargestellt werden.
Jetzt habe ich 5 Spalten, a 4 checkboxen, die ich makieren kann wie ich lsut habe.
Klicke ich jetzt auf submit, wird auch fein die Checkboxen übermittelt
print_r($_POST);
Jetzt sieht man, das bei dem ersten checkbox-array alle makiert waren, beim 2ten nur 2 usw.
Jetzt nehme ich alle checkboxen nacheinander mit foreach auseinander und schreibe sie in die DB. Solang ich alle makiere geht auch alles fein. nur wenn ich eineige nicht makiere, fehlen diese ja und der Insert Befehl meckert, das nicht alle value gesetzt sind.
Wie bekomme ich jetzt die werte auf 0, wo checkboxen nicht makiert wurden sind. Kann man eventuell so das Array gestallten, das er makiert und nicht makiert speichert. Also das es dann so aussieht:
Danke
Also, ich habe in der DB eine Tabelle namens PERMISSION:
permissionid-----groupid-----forumid----canshow---canread--canreply
Die spalten mit can* werden ausgelesen und als Checkboxen dargestellt. Da das system dynamisch ist, könen auch weitere can* spalten hinzugefügt werden, die dann auch als checkboxen dargestellt werden.
Jetzt habe ich 5 Spalten, a 4 checkboxen, die ich makieren kann wie ich lsut habe.
Klicke ich jetzt auf submit, wird auch fein die Checkboxen übermittelt
print_r($_POST);
PHP-Code:
[2] => Array
(
[canshow] => 1
[canread] => 1
[canreply] => 1
[canstart] => 1
[canupload] => 1
)
[3] => Array
(
[canshow] => 1
)
[4] => Array
(
[canread] => 1
)
[5] => Array
(
[canreply] => 1
)
[6] => Array
(
[canstart] => 1
)
[7] => Array
(
[canupload] => 1
)
Jetzt nehme ich alle checkboxen nacheinander mit foreach auseinander und schreibe sie in die DB. Solang ich alle makiere geht auch alles fein. nur wenn ich eineige nicht makiere, fehlen diese ja und der Insert Befehl meckert, das nicht alle value gesetzt sind.
Wie bekomme ich jetzt die werte auf 0, wo checkboxen nicht makiert wurden sind. Kann man eventuell so das Array gestallten, das er makiert und nicht makiert speichert. Also das es dann so aussieht:
PHP-Code:
[2] => Array
(
[canshow] => 1
[canread] => 1
[canreply] => 1
[canstart] => 1
[canupload] => 1
)
[3] => Array
(
[canshow] => 1
[canread] => 0
[canreply] => 1
[canstart] => 0
[canupload] => 1
)
[4] => Array
(
[canshow] => 1
[canread] => 0
[canreply] =>0
[canstart] => 1
[canupload] => 1
)
[5] => Array
(
[canshow] => 1
[canread] => 1
[canreply] => 1
[canstart] =>0
[canupload] => 1
)
[6] => Array
(
[canshow] => 1
[canread] => 1
[canreply] => 0
[canstart] => 1
[canupload] => 1
)
[7] => Array
(
[canshow] => 0
[canread] => 1
[canreply] => 0
[canstart] => 0
[canupload] => 0
)
Kommentar