2016-07-08 79 views
0

复选框的IDS我有两个输入字段:插入在数据库用PHP

<input type='hidden' name='amenId[]' value='$amen[amenId]'> 
<input type="checkbox" name='amentities[]' id='check'>$amen[amenBG] 

这两个输入字段中foreach标签,其通过阵列($阿门)环路。提交表单后,我有php文件循环访问数组,并插入选中输入的id和值。现在问题来自于我的输入字段是复选框。我用这种技术为不同的数组,其中输入类型是文本,我没有问题。在这里,我有大约30个选择可供选择,当我检查数据库中的第一个和第五个选项的id应该是1和5,而不是那个是1和2.我不知道为什么但我认为它只能从检查框中获取值。
我的PHP代码:

$checkedAmen = ''; 
     foreach ($_POST['amentities'] as $key => $amen) { 

      $checkedAmen = $amen; 
      $checkedId = $_POST['amenId'][$key]; 

      if ($checkedAmen == "on") { 
       $checkedAmen = "Yes"; 
      }elseif($checkedAmen == "") $checkedAmen ="No"; 

      $sqlAmen = "INSERT INTO ObjectAmen(ProductId, AmenId, AmenData) VALUES(?, ?, ?)"; 
      if ($stmtAmen = $db -> prepare($sqlAmen)) { 
       $stmtAmen -> bind_param('iis', $last, $checkedId, $checkedAmen); 
      }else{ 
       echo "Error: " . $db->error; 
      } 
      $stmtAmen -> execute(); 
     } 

有人能帮助我吗?我想要正确的ID相对于数据库中的选中选项。

+0

那里有大量的教程! –

+0

是的,我做了这件事跟着他们,但我现在卡住了,想要一些帮助。谢谢你指出。 –

回答

0

目前没有任何东西将您的两个输入组合在一起。你可以有一个复选框的值了,所以如果它是检查你的ID

<input type="checkbox" name='amentities[]' value='$amen[amenBG]'> 

而且要采取的id断输入,如果它在一个foreach,因为你会被重新绑定ID每次。

+0

我没有这样看。我试图将它作为带输入文本的previos示例,其中需要来自输入和id的值。谢谢你睁开眼睛。 –