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

Fügen Sie Ja oder Nein in MySQL basierend auf dem Wert des Kontrollkästchens ein

Das Problem mit Kontrollkästchen (wie Sie bemerkt haben) besteht darin, dass nicht aktivierte keine Daten übermitteln.

Der Standardtrick, um dies zu umgehen, ist...

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

Wenn das Kontrollkästchen aktiviert ist, wird sein Wert so übermittelt, wie er später im Dokument angezeigt wird. Wenn nicht aktiviert, wird der verborgene Eingabewert übermittelt.

Sie können den Wert dann einfach anhand des Namens überprüfen

$field = isset($_POST['field_name']) ? $_POST['field_name'] : false;
$dbFlag = $field ? 'Yes' : 'No';

Fügen Sie in Ihrem speziellen Fall die page_id hinzu im Eingabenamen, zB

<input type="hidden" name="likebutton[416]" value="0">
<input type="checkbox" name="likebutton[416]" value="1">

Und in PHP

foreach ($_POST['likebutton'] as $pageId => $likeFlag) {
    $dbFlag = $likeFlag ? 'Yes' : 'No';

    // update DB
}