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
}