Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nicht aktiviertes Kontrollkästchen, das einen Nullwert zurückgibt

Wenn ein Kontrollkästchen deaktiviert ist, wird es nicht gesendet, also wird es nicht helfen, seinen Wert auf 0 zu setzen, wenn es nicht aktiviert ist - es wird immer NULL zurückgeben.

Es gibt zwei Möglichkeiten, dies einfach zu beheben:

1) Angenommen, ein NULL in den PHP-Parametern bedeutet, dass das Kontrollkästchen deaktiviert ist. Wenn das Kontrollkästchen nicht immer auf der Seite vorhanden ist, könnte dies problematisch sein. Wie es sich anhört, gibt es eine variable Anzahl von Kontrollkästchen, also wird dies wahrscheinlich nicht funktionieren.

2) Fügen Sie eine versteckte Eingabe hinzu, die den gleichen Namen wie das Kontrollkästchen mit dem Wert 0 BEFORE hat das Kontrollkästchen. Wenn das Kontrollkästchen deaktiviert ist, wird der Wert des verborgenen Felds verwendet, wenn es aktiviert ist, wird der Wert des Kontrollkästchens verwendet.

<input type="hidden" name="checkbox_1" value="0">
<input type="checkbox" name="checkbox_1" value="1">

Hinweis:Wenn Ihre Namen in einer Array-Form vorliegen (dh sie haben eckige Klammern), funktioniert dies nicht, da die versteckten Felder auch die Array-Zählung erhöhen.