数组不向前传输数据

时间:2012-03-20 12:55:54

标签: php

我有一个表格,需要10行相似的数据。表格收集产品代码,描述和数量。我遍历10行并使用数组来收集信息。

$code = array();
$description = array();
$quantity = array();

<?php
for($i=0; $i<10; $i++){
    ?>
    <div class="quote-row">
        <div class="quote-id">
            <?php echo $i+1; ?>
        </div>
        <div class="quote-code">
            <input type="text" class="quotecode" name="<?php echo $code[$i]; ?>" />
        </div>
        <div class="quote-description">
            <input type="text" class="quotedescription" name="<?php echo $description[$i]; ?>" />
        </div>
        <div class="quote-quantity">
            <input type="text" class="quotequantity" name="<?php echo $quantity[$i]; ?>" />
        </div>
    </div>
    <?php
}
?>

在下一页上,我使用$_POST['code'], $_POST['description'], $_POST['quantity']来传送数据并尝试使用它。

我的问题是数据似乎没有到达?

使用for循环,我是否仍然可以提交表单并将所有数据转发?

希望这是尽可能提供信息,谢谢!

3 个答案:

答案 0 :(得分:1)

您在name属性中给出了数组的值。你的数组是空的,所以你的名字也是空的。

试试这个:

<?php
for($i=0; $i<10; $i++){
    ?>
    <div class="quote-row">
        <div class="quote-id">
            <?php echo $i+1; ?>
        </div>
        <div class="quote-code">
            <input type="text" class="quotecode" name="code[]" />
        </div>
        <div class="quote-description">
            <input type="text" class="quotedescription" name="description[]" />
        </div>
        <div class="quote-quantity">
            <input type="text" class="quotequantity" name="quantity[]" />
        </div>
    </div>
    <?php
}
?>

name [] 格式会自动将您的数据设为数组。

答案 1 :(得分:1)

有几个地方需要更新代码才能按预期工作。

最重要的是输入使用错误的属性来存储名称和值。

例如,输入元素需要为每个输入看起来像这样:

<input type="text" class="quotecode" name="code[]" value="<?php echo $code[$i]; ?>" />

之后,添加提交按钮和周围的表单标签,然后您可以使用PHP $ _POST或$ _GET变量继续检查下一页中的变量。

答案 2 :(得分:1)

$_POST数组一起使用的关键是放在name=""属性中的任何内容。根据您提供的代码,名称不是codedescriptionquantity,而是项目的实际代码,说明和数量。你可能想要这样做:

$code = array();
$description = array();
$quantity = array();

<?php
for($i=0; $i<10; $i++){
    ?>
    <div class="quote-row">
        <div class="quote-id">
            <?php echo $i+1; ?>
        </div>
        <div class="quote-code">
            <input type="text" class="quotecode" name="code[]" value="<?php echo $code[$i]; ?>" />
        </div>
        <div class="quote-description">
            <input type="text" class="quotedescription" name="description[]" value="<?php echo $description[$i]; ?>" />
        </div>
        <div class="quote-quantity">
            <input type="text" class="quotequantity" name="quantity[]" value="<?php echo $quantity[$i]; ?>" />
        </div>
    </div>
    <?php
}
?>