将复选框值插入数据库

时间:2014-03-11 06:20:38

标签: php mysql sql forms checkbox

所以我试图将复选框中的值存储到我的数据库中 它可以工作,如果我使用普通的文本框,但只要我用复选框尝试它它不起作用任何想法?我想有两个例如checkbox1和checkbox2,值应该存储在我的数据库列中,例如Colum1 colum2。 在此先感谢anyhelp

<form name="checkbox.php" id="names" action="<?php echo JURI::current(); ?>" method="post">

<p><input type="checkbox" name="game" value="ExampleGame" />b</p>
<p><input type="checkbox" name="Age" value="ExampleAge" />b</p>

<p><input id="submit" name="submit" type="submit" value="Submit Names" /></p>

</form>

<?
if( (isset($_POST['game'])) || (isset($_POST['Age'])) ) {
//first name or last name set, continue-->

$game = $_POST['game'];
$Age= $_POST['Age'];

$db =& JFactory::getDBO();

$query = "INSERT INTO `gameTable` (`game`, `Age`)
VALUES ($game, $age);";
$db->setQuery( $query );
$db->query();

} else {
echo '<h4>One Field Is Required!</h4>';
}

?>

4 个答案:

答案 0 :(得分:0)

试试这个

$query =  "INSERT INTO `gameTable` (`game`, `Age`) VALUES ('".$game."','".$age."', )";

答案 1 :(得分:0)

检查表单中返回的值:

 $game = $_POST['game'];
 $Age= $_POST['Age'];

您应该会发现,如果未选中该复选框,则不会返回任何值(实际上,没有字段)。 这可能是你的问题。

答案 2 :(得分:0)

使用一些警报进行故障排除:

echo $_POST['game']; echo $_POST['Age']; echo $_POST['query'];

即使您不知道自己在做什么/做错了什么,也要尝试解决问题。 警报在PHP中有很多帮助,可以检查你是否得到了你期望的变量值。

如果您获得了查询字符串,请直接在数据库上进行测试。

答案 3 :(得分:0)

我用这种简单的方法解决:

<input type="checkbox" name="field_name" value="N" style="display: none;" checked />

在mysql数据库上,我创建了一个触发器

 if new.field_name= '' then set new.field_name= 'S';