在复选框中反映mySQL布尔值

时间:2012-07-06 09:46:33

标签: php mysql 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保存吗?

感谢

4 个答案:

答案 0 :(得分:2)

在你的html复选框中使用它:

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

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

尝试

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