2

我有一个输入字段迭代了 3 次,我想将在每个字段中输入的值存储在 PHP 数组中。

我调用了每个 OPTION item[],希望它将每个值保存在同一个数组中。

这行得通吗?如果是,我将如何在 PHP 上检索它?

这是我的表格:

<tr>
    <td>Items</td>
    <td><select><?php
    $items = $con -> prepare("SELECT * FROM item_descr");
    $items ->execute();
    while($info = $items->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <option name="item[]" value="<?=$info['id_item']?>"><?=$info['name']?></option><?php } ?>
    </td>
    <td>Quantity:</td>
    <td><input name="quantity[]"></td>
        <td><a href="" id="addItem">ADD</a></td>
    </tr>
    <tr class="moreItems">
    <td>Items</td>
    <td><select><?php
    while($info = $items->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <option name="item[]" value="<?=$info['id_item']?>"><?=$info['name']?></option><?php } ?>
    </td>
    <td>Quantity:</td>
    <td><input name="quantity[]"></td>
</tr>
<tr class="moreItems">
    <td>Items</td>
    <td><select><?php
    while($info = $items->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <option name="item[]" value="<?=$info['id_item']?>"><?=$info['name']?></option><?php } ?>
    </td>
    <td>Quantity:</td>
    <td><input name="quantity[]"></td>
</tr>
4

1 回答 1

3

将选项标签更改[]为您的选择标签:

<tr>
    <td>Items</td>
    <td><select name="items[]">
    <?php
        $items = $con -> prepare("SELECT * FROM item_descr");
        $items ->execute();

        while($info = $items->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <option name="item" value="<?=$info['id_item']?>"><?=$info['name']?></option>
    <?php } ?>
    </td>
    <td>Quantity:</td>
    <td><input name="quantity[]"></td>
    <td><a href="" id="addItem">ADD</a></td>
</tr>

然后在您的 PHP 页面上,检索值:

foreach($_POST['items'] as $key => $itemValue)
{
    echo 'Item: ' . $itemValue . '<br />';
    echo 'Quantity: ' . $_POST['quantity'][$key] . '<br /><br />';
}
于 2013-06-04T16:40:40.783 回答