2017-05-09 87 views
-1

我有多個複選框,在我的我的網頁之一腓 - 獲取多個複選框,輸入

<form method="POST" action="flight_cart.php" autocomplete="off"> 
<table> 
    <?php 
     for($i = 1; $i <= 5 ; $i++) 
     { 
      print "<tr> 
        <td><input class='seats' name='seats[$i]' type='checkbox' value=S".$i.">Seat " .$i. "</input></td> 
        <td><input class='special s$i' name='special[]' type='checkbox' value='noNuts'>No Nuts</input></td> 
        <td><input class='special s$i' name='special[]' type='checkbox' value='noGluten'>No Gluten</input></td> 
        <td><input class='special s$i' name='special[]' type='checkbox' value='noCorn'>No corn</input></td> 
        </tr>"; 
     } 
     print "<tr><td><button type='submit' onclick='return submitValidation();'>Add to Bookings</td></tr>"; 
    ?> 
</table> 

我想使用PHP,例如獲得在接下來的頁面中的數據:

座椅S1; NoNuts,NoGluten

座椅S2; NoNuts,NoCorn

到目前爲止,我只能夠得到回升席位

<?php 

    $booked_seats = $_POST['seats']; 
    $special = array(); 

    for($i = 0; $i < sizeof($booked_seats); $i++) 
    { 
    for($j = 0; $j < sizeof($_POST['special']); $j++) 
    { 
     $currentValue = $_POST['special'][$j]; 
     $special[$i][$j] = $currentValue; 
    } 
    } 

陣列我想用來存儲所有的數據到二維數組。所以..

特殊[1] [0]是noNuts

特殊[1] [1]是noGluten

特殊[2] [0]是noNuts

特殊[2] [1]是noCorn

請幫幫我。先謝謝你!

+0

什麼結果你現在得到些什麼? –

+0

你似乎是沉默的類型,你給出的答案的接受記錄似乎也反映了這一點。你來這裏尋求幫助,給出了評論,要求澄清和答案,因爲這也是不被接受的。如果你想保持良好的排名,你需要合作。這是一條雙向的街道,而不是一條街道。 –

+0

目前我只能將所有特殊[]值填充到一個數組中。我不知道如何將它填充到2D數組中 –

回答

0

嘗試修改此

$currentValue = $_POST['special'][$j]; 

$currentValue = $_POST['special']; 
-1

CONCAT在$我空間

<form method="POST" action="flight_cart.php" autocomplete="off"> 
<table> 
    <?php 
     for($i = 1; $i <= 5 ; $i++) 
     { 
      print "<tr> 
        <td><input class='seats' name='seats[$i]' type='checkbox' value=S".$i.">Seat " .$i. "</input></td> 
        <td><input class='special s$i' name='special.$i.[]' type='checkbox' value='noNuts'>No Nuts</input></td> 
        <td><input class='special s$i' name='special.$i.[]' type='checkbox' value='noGluten'>No Gluten</input></td> 
        <td><input class='special s$i' name='special.$i.[]' type='checkbox' value='noCorn'>No corn</input></td> 
        </tr>"; 
     } 
     print "<tr><td><button type='submit' onclick='return submitValidation();'>Add to Bookings</td></tr>"; 
    ?> 
</table> 

在你的代碼試圖獲得特殊的二維陣列,但在現實中,它is single arrya ...

<?php 
    $booked_seats = $_POST['seats']; 
    $special = array(); 
    for($i = 0; $i < sizeof($booked_seats); $i++) 
    { 

    $currentValue = $_POST['special'.$i]; //concat $i to get perticular seat special. 
    for($j = 0; $j < count($currentValue); $j++) 
    { 
     $special[$i][$j] = $currentValue.$i.[$j]; 
    } 
    }?> 
+0

我試過這種方式。我能夠將它存儲在數組中,但當我調用var_dump時它將返回零。不管怎樣,謝謝你 –

0

試試這個。

echo "<form action='test.php' method='POST'>"; 
echo '<table>'; 
for($i = 1; $i <= 5 ; $i++) 
{ 
    print "<tr> 
      <td><input class='seats' name='special[$i]' type='checkbox' value=S".$i.">Seat " .$i. "</input></td> 
      <td><input class='special s$i' name='special[$i][]' type='checkbox' value='noNuts'>No Nuts</input></td> 
      <td><input class='special s$i' name='special[$i][]' type='checkbox' value='noGluten'>No Gluten</input></td> 
      <td><input class='special s$i' name='special[$i][]' type='checkbox' value='noCorn'>No corn</input></td> 
      </tr>"; 
} 
print "<tr><td><button type='submit'>Add to Bookings</td></tr>"; 
echo '</table>'; 
echo '</form>'; 

$ _ POST內容

Array 
(
    [special] => Array 
     (
      [1] => Array 
       (
        [0] => noNuts 
        [1] => noGluten 
        [2] => noCorn 
       ) 

      [2] => Array 
       (
        [0] => noGluten 
        [1] => noCorn 
       ) 

      [3] => Array 
       (
        [0] => noNuts 
        [1] => noGluten 
       ) 

     ) 

)