我有一个表格,需要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循环,我是否仍然可以提交表单并将所有数据转发?
希望这是尽可能提供信息,谢谢!
答案 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=""
属性中的任何内容。根据您提供的代码,名称不是code
,description
和quantity
,而是项目的实际代码,说明和数量。你可能想要这样做:
$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
}
?>