2012-06-08 30 views
0

我嘗試將複選框值與文本字段合併爲一個變量,以便當我將其回顯時顯示正確的字段值。在PHP中結合帶有文本字段的Checbox

我想將複選框的文章與數量文本字段的文章相結合,因爲我有幾個項目使用forloop,但似乎無法將兩個值合併爲一個,以便創建一個新表格在左側的行項目名稱和右側的數量。

<tr> 
    <td> 
     <input type="checkbox" name="check[]" value="<?php echo get_post_meta($post->ID, '_stitle', true); ?>" /> 
    </td> 

    <td> 
     <input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br /> 
    </td> 

$data = $_POST['check']; 
     foreach ($data as $value) { 
     $item .= '<tr style="background: #eee;"> 
       <td>Item: </td> 
       <td>'.$value.'</td> 
      </tr>'; 
     } 

回答

1

你或許應該改變:

<input id="quantity" name="check[quantity]" type="text" maxlength="3" /><br /> 

到:

<input id="quantity" name="check[quantity][]" type="text" maxlength="3" /><br /> 

你標您的複選框而不是文本框。

此外,將兩個字段與for關聯可能會更簡單,因爲數組鍵在每個複選框和輸入字段之間將相同。

例子:

for($i=0;$i<=sizeof($_POST['check'])-2;$i++){ 
    $item .= '<tr style="background: #eee;"> 
      <td>Item: '.$_POST['check'][$i].'</td> 
      <td>'.$_POST['check']['quantity'][$i].'</td> 
     </tr>'; 
} 

另外,注意從-2的sizeof _POST $。你必須減去你的數量鍵和你的偏移量,以設置你的終點等於那個,因爲你從0開始計數。

+1

謝謝你,sixeightzero,這是我收到的最快回復之一,我不得不修改對於($ i = 0; $ i <= sizeof($ _ POST ['check']) - 2; $ i ++) – Beto

+1

Woops!我更正了更正的答案! –

+0

真棒,歡呼聲。 – Beto