2013-08-19 41 views
0

我想添加一些复选框在我的数据库中的值,但它不是真的工作。它给 “” 值:问题与复选框,并在数据库中添加值

http://img692.imageshack.us/img692/2844/kbyl.png

这是它创建查询: INSERT INTO oudebadkamer(WC,坏了,斗车,Wasbak)VALUES( '', '', '', '');

连接正常,名称正确,因为它在所有字段中添加“”。

请帮我一把。

<form action="formhandle.php" method="POST"> 

    Wat zit er in uw huidige badkamer?<br /> 
    <input type="checkbox" name="Sanitair[]" value="WC" checked>WC<br /> 
    <input type="checkbox" name="Sanitair[]" value="Douche" checked>Douche<br />   
    <input type="checkbox" name="Sanitair[]" value="Bad" checked>Bad<br /> 
    <input type="checkbox" name="Sanitair[]" value="Wasbak" checked>Wasbak<br />  

    <input type="submit" name="Volgende" value="Volgende"/><br /> 
    <?php 
    $checkbox1 = $_POST['Sanitair']; 
    if(isset ($_POST ['Volgende'])) 
    {   
      $querystring = "INSERT INTO oudebadkamer(WC, Bad, Douche, Wasbak) 
          VALUES (
          '" 
          .$checkbox1[0]."','" 
          .$checkbox1[1]."','" 
          .$checkbox1[2]."','" 
          .$checkbox1[3]."');"; 
      mysql_query($querystring)or die(mysql_error()); 

      echo $querystring;   
    } 
    ?> 
    </form> 
+1

你可以编辑你的问题,包括你的相关代码截图吗? –

+0

如果您正在获取该查询,它将插入空白值。你在哪里创建你的查询? – Tricky12

+0

显示你的编码 –

回答

0
  1. 关闭你形成即。 </form>开始处理PHP之前。

我已编辑代码:

这将现在的工作!

<form action="formhandle.php" method="POST"> 

Wat zit er in uw huidige badkamer?<br /> 
<input type="checkbox" name="Sanitair[]" value="WC" checked>WC<br /> 
<input type="checkbox" name="Sanitair[]" value="Douche" checked>Douche<br />   
<input type="checkbox" name="Sanitair[]" value="Bad" checked>Bad<br /> 
<input type="checkbox" name="Sanitair[]" value="Wasbak" checked>Wasbak<br />  

<input type="submit" name="Volgende" value="Volgende"/><br /> 

</form> 
<?php 
if(isset ($_POST ['Volgende'])) 
{  
    $val1 =$val2 = $val3 = $val4 = FALSE; // declaring all variables to be false 

    if(isset($_POST['Sanitair'][0])) 
    { 
     $val1 = $_POST['Sanitair'][0]; // if value is set then put the value in variable else keep it empty 
    } 
    else 
    { 
     $val1 = ''; 
    } 

    if(isset($_POST['Sanitair'][1])) 
    { 
     $val2 = $_POST['Sanitair'][1]; 
    } 
    else 
    { 
     $val2 = ''; 
    } 

    if(isset($_POST['Sanitair'][2])) 
    { 
     $val3 = $_POST['Sanitair'][2]; 
    } 
    else 
    { 
     $val3 = ''; 
    } 

    if(isset($_POST['Sanitair'][3])) 
    { 
     $val4 = $_POST['Sanitair'][3]; 
    } 
    else 
    { 
     $val4 = ''; 
    } 

    if($val1 or $val2 or $val3 or $val4) 
    { 
     $querystring = "INSERT INTO oudebadkamer (`WC`, `Bad`, `Douche`, `Wasbak`) 
         VALUES ('".$val1."','".$val2."','".$val3."','".$val4."')"; 
     mysql_query($querystring)or die(mysql_error()); 
// use backtics with column name while inserting it will help reducing future errors 
     echo $querystring; 
    } 
    else 
    { 
     echo "no Checkbox selected"; 
    } 
} 
?> 
+0

非常感谢!它的工作原理:) – Bart

0

如果所有字段都为空(“”),那意味着它们没有被检查。

检查一些复选框,也许发布var_dump$_POST['Sanitair']

+0

已使用var_dump并且其值为null。有点奇怪,因为我检查了所有的复选框 – Bart

0

我不能评论,因为我的名声很低,但至少很少有提示作为答案。

  1. 是您的网页上的截图formhandle.php?
  2. 使用var_dump()功能打印$_POST阵列的文件名,看是否乌尔得到你要求的
  3. 名不必是在PHP正确becouse数据当你创建它时,你不需要指定变量类型。这意味着,如果找你不是在你的$_POST阵列歌厅任何日e $querystring仍然看起来是一样的(...VALUES ('','','','');)
+0

这是在一个不同的PHP文件。我的formhandle.php文件是空的 – Bart

0

您可以尝试像下面

if(isset($_request['Volgende'])) 
{ 
$checkbox1=$_request['Sanitair']; 
After this you can use the '$checkbox1' array value in your query. 
} 
+0

试过了,没有工作:( – Bart