【问题标题】:Inserting checkbox value of 0 or 1 to database PHP将复选框值 0 或 1 插入数据库 PHP
【发布时间】:2015-07-19 19:05:07
【问题描述】:

我在我正在处理的这个网站上的现有表单上放置了一个新的复选框,我希望它根据复选框是否选中来更新数据库为 0 或 1。我已经在这几个小时了,但无济于事。

这是我的输入代码:

<input type="hidden" name="propHosp" value="0">
<input type="checkbox" name="propHosp" <? if($propHosp == "1") echo "checked='checked'"; ?> value="1">

这是我在 SQL 插入查询代码周围放置的代码:

$hospValue = (isset($_GET['propHosp'])) ? intval($_GET['propHosp']) : 0; // returns 0 or 1
$sql = "INSERT INTO comments SET ";
$sql.= "propHosp = $hospValue";
--other sql lines omitted--

propHosp 是列,它的默认值为 0。如果复选框被选中,它应该是 1。它只是每次都用 0 创建新行。我也尝试将 $_GET 更改为 $_POST ,但没有运气。感谢您的帮助!

【问题讨论】:

  • 您的隐藏输入和复选框都具有相同的名称属性; 为什么?
  • 我这样做是因为我在这里引用了这篇文章 - stackoverflow.com/questions/22373180/…
  • 哦,我明白了。尝试检查 PHP 和 MySQL 方面的错误。另外,您的专栏类型也可能在起作用。
  • 在打开 PHP 标记后立即将错误报告添加到文件顶部,例如 &lt;?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,以查看它是否产生任何结果,以及 @987654325 @到mysqli_query()。但后者适用于mysqli_,所以我不知道您使用的是哪个 MySQL API。相应调整。
  • 另一件事。确保在您的系统上启用了短开放标签。如果不是,那么您需要将&lt;? 更改为&lt;?php。这也可能是另一个问题。

标签: php mysql checkbox


【解决方案1】:
if(isset($_POST['propHosp']))
            {
                $hospValue = 1;
            }
            else
            {
                $hospValue = 0;
            }

也只有一个输入,&lt;input type="checkbox" name="propHosp"&gt;

【讨论】:

  • 然后是另一个幸福的结局
  • 原来都是重名的原因吧?
猜你喜欢
  • 2016-06-09
  • 2014-04-17
  • 2010-09-19
  • 2021-04-03
  • 1970-01-01
相关资源
最近更新 更多