在复选框中反映 mySQL 布尔值


reflecting a mySQL boolean in a checkbox

我在mySQL中有一个字段,TINYINT,它将是0或1

我还有一个表格:

      <input type="checkbox" name="featured" value="<?php echo $row_rs_dealItem['featured']; ?>"/><br /><br />

当我选中该复选框时,我可以在mySQL中将值设置为"1",但不能相反,因为当我查看更新记录页面时,复选框始终为空白(我知道复选框状态与值无关,应该这样设置)。

因此,如果值为"1",我需要选中复选框,如果我取消选中,那么我需要 mySQL 中的值更改回"0"

我知道有很多关于这个的帖子,但我似乎不能做头或做尾,我尝试的任何东西都不起作用。

我们可以把它保存在PHP中吗?

谢谢

html 复选框中使用它:

<?php if ($row_rs_dealItem['featured'] == 1) echo "checked='checked'"; ?>

并将其写入保存数据的文件中:

if(isset($_POST['featured'])) $featured = 1; else $featured = 0;
$featured = (isset($_POST['featured'])) ? 1 : 0;

只需使用 PHP 的 intval 函数,提交表单后,在保存数据的文件中:

$_POST['featured'] = intval($_POST['featured']);

如果未选中复选框,则 $_POST['精选'] 为 NULL,intval(NULL)=0 .

尝试

<?PHP
if(isset($_POST['featured']))
{
    $_POST['featured'] =1;
}
else
{
   $_POST['featured'] =0; 
}