2016-07-08 60 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的值。謝謝你睜開眼睛。 –