sql >> Databáze >  >> RDS >> Mysql

Vložte Ano nebo Ne do MySQL na základě hodnoty zaškrtávacího políčka

Problém se zaškrtávacími políčky (jak jste si všimli) je ten, že nezaškrtnutá neodesílají žádná data.

Standardní trik, jak to obejít, je...

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

Když je zaškrtávací políčko zaškrtnuté, jeho hodnota se odešle tak, jak se objeví později v dokumentu. Pokud není zaškrtnuto, odešle se skrytá vstupní hodnota.

Hodnotu pak můžete jednoduše zkontrolovat podle názvu

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

Ve vašem konkrétním případě uveďte page_id v názvu vstupu, např.

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

A v PHP

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

    // update DB
}



  1. Jak získat hodnotu z adresy URL

  2. Datový model pro sledování vašeho nejcennějšího majetku

  3. Jak Java pro OS X 2013-004 ovlivňuje (přerušuje) aplikace Swing?

  4. Mysql:více stolů nebo jeden velký stůl?