2016-08-02 67 views
0

欢迎, 我有一些问题与形式和插入数据到MySQL。 我的形式有一个输入:当复选框被选中时,如何将表单数据插入到mysql中?

<inpu type="checkbox" name="check"> 

,这是我的代码这种形式的数据插入到MySQL。

if(isset($_POST['check'])) { //things to insert } 

,当我选择一个复选框代码插入的每个记录,当我选择所有的复选框其还插入每个记录(所有数据)。但是,当我不选择复选框插入是空的(好)。 这个复选框有什么问题?

+0

对不起我的英语:-) – MB83

+0

你应该提供更多的代码,一个小例子,我们可以看到多个记录以及你的php脚本如何处理这些记录。 – Jakumi

回答

0

复选框仅在检查时通过POST发送。如果他们没有检查,他们不会被发送。也许你期望值'开',如果选中,价值'关',如果没有选中,但没有!,如果选中,您将只收到'开',否则不会。所以如果你收到复选框(在你的post set 1,true,'Y'或者你在数据库中用于布尔值的任何东西,请用isset($ _ POST ['checkbox_name']')变量来检查它)如果你没有收到! isset()函数然后设置为0,假,或 'N' 同样的情况是有残疾INPUT元素,它们的值不被发送吨服务器

<form action"processor.php" method="post"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input type="submit" value="Save"> 
</form> 

在你processor.php文件:。

$data=$_POST['data']; //array received 
$checks=$_POST['check']; //array received (checked only) 
foreach($checks as $key=>$check) //loop through all checks that are sent 
{ 
    $value=$data[$key]; //do whatever you want with corresponding data 
} 
+0

你能写我如何改变输入值在php /上我的例子? – MB83

+0

目前还不清楚你想用你的复选框达到什么目的。你谈论你想要插入的数据,复选框只带来布尔值'on'或'off'。你想存储什么数据? – sbrbot

+0

我想插入一条记录(id,event_id,名称,start_time)到mysql。而已。但只有那些由输入复选框选中的记录。 – MB83