sql >> Database teknologi >  >> RDS >> Mysql

Indsæt Ja eller Nej i MySQL baseret på afkrydsningsfeltværdi

Problemet med afkrydsningsfelter (som du har bemærket) er, at afkrydsede afkrydsningsfelter ikke indsender nogen data.

Standardtricket til at komme uden om dette er...

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

Når afkrydsningsfeltet er markeret, indsendes dens værdi, som den vises senere i dokumentet. Hvis det ikke er markeret, sendes den skjulte inputværdi.

Du kan derefter blot kontrollere værdien ved navn

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

I dit særlige tilfælde skal du inkludere page_id i inputnavnet, f.eks.

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

Og i PHP

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

    // update DB
}



  1. find fortløbende transaktion inden for 10 minutter

  2. HQL genererer ufuldstændig 'cross join' på executeUpdate

  3. Udvidede arrangementer for SSAS

  4. RAND() Eksempler i SQL Server