2017-05-09 101 views
1

我有一個表單元素在循環中,其中之一是選擇框與多個選擇選項。 這是代碼。如何獲得選擇框數組的多個選項

<?php for($i = 1; $i <= 2; $i++){ ?> 
<input type="text" name="product[]" /> 
<select name="problems[]" 
    <option value="problem1">Problem 1</option> 
    <option value="problem2">Problem 2</option> 
    <option value="problem3">Problem 3</option> 
</select> 
<?php } ?> 

我進入產品「TV」,選擇產品2選擇「電視」,即問題1和problem2和其他產品冰箱全部3個選項。 當我提交表單打印後的數據,我在數組中獲取數據

Array 
(
    [product] => Array 
     (
      [0] => TV 
      [1] => Fridge 
     ) 

    [problems] => Array 
     (
      [0] => problem1 
      [1] => problem2 
      [2] => problem1 
      [3] => problem1 
      [4] => problem3 
     ) 
) 

在這裏,我不能檢查哪些問題是其產品。 我想是這樣的

Array 
(
    [product] => Array 
     (
      [0] => TV 
      [1] => Fridge 
     ) 

    [problems] => Array 
     (
      [0] => Array 
       (
        [0] => problem1 
        [1] => problem2 
       ) 
      [1] => Array 
       (
        [0] => problem1 
        [1] => problem2 
        [2] => problem3 
       ) 
     ) 
) 

有沒有什麼辦法讓數組這樣? 非常感謝您的幫助。

+0

你能分享其中的第一陣列輸出代碼關閉標籤I-E <select name="problems[]"接近它的錯誤? (你現在擁有的那個) –

回答

1

您需要在輸入使用計數器變量$i選擇元素,再加上你必須做出幾個更多的變化。重構代碼以下列方式,

<?php for($i = 0; $i <= 1; $i++){ ?> 
    <input type="text" name="product[<?php echo $i; ?>]" /> 
    <select name="problems[<?php echo $i; ?>][]" multiple> 
     <option value="problem1">Problem 1</option> 
     <option value="problem2">Problem 2</option> 
     <option value="problem3">Problem 3</option> 
    </select> 
<?php } ?> 

旁註:如果萬一你想看到完整的陣列結構,做var_dump($_POST);

0

那樣的事情呢?

<?php for($i = 1; $i <= 2; $i++){ ?> 
<input type="text" name="product_<?php echo $i; ?>[]" /> 
<select name="problems_<?php echo $i; ?>[]" 
    <option value="problem1">Problem 1</option> 
    <option value="problem2">Problem 2</option> 
    <option value="problem3">Problem 3</option> 
</select> 
<?php } ?> 
0

僅舉你的問題領域是這樣<select name="problems[<?php echo $i;?>][]">

0

將您的代碼更正爲

<?php for($i = 1; $i <= 2; $i++){ ?> 
<input type="text" name="product[<?php echo $i; ?>]" /> 
<select name="problems[<?php echo $i; ?>][]" multiple> 
    <option value="problem1">Problem 1</option> 
    <option value="problem2">Problem 2</option> 
    <option value="problem3">Problem 3</option> 
</select> 
<?php } ?> 

你也有與關閉標籤標誌和使用multiple關鍵詞中<select name="problems[<?php echo $i; ?>][]" multiple>

相關問題