我有一个表单可以提交1个订单项或200个引用。使用FPDF创建结果,一切都运行良好,但我一直在寻找一种自动获取帖子值的方法。到目前为止,我一直在手动执行这些操作,这很难进行代码更改:
//conditional statement to verify values exist, otherwise we write a blank line
$item=$_POST['item3'];
$uprice=$_POST['uprice3'];
$udprice=$_POST['udprice3'];
$quan=$_POST['quan3'];
//add values to report
//repeat for next result
$item=$_POST['item4'];
$uprice=$_POST['uprice4'];
$udprice=$_POST['udprice4'];
$quan=$_POST['quan4'];
我想知道是否有办法在post值中添加变量,比如$ _POST [$ nextitem]?
答案 0 :(得分:4)
您可以循环直到下一个号码不再可用:
<?php
$i = 1;
while (isset($_POST['item' . $i])) {
$item = $_POST['item' . $i];
$uprice = $_POST['uprice' . $i];
$udprice = $_POST['udprice' . $i];
$quan = $_POST['quan' . $i];
// do your stuff
$i++;
}
将字符串'var'
与int 1
连接将在PHP中生成字符串'var1'
。
答案 1 :(得分:1)
我只需使用$array = $_POST
获取整个数组,然后使用foreach()
循环稍后对其进行操作。
或者,听起来你的表单上有任意数量的东西。这样做:
<input type="text" name="item[]" />
<input type="text" name="quan[]" />
<input type="text" name="udprice[]" />
<input type="text" name="item[]" />
<input type="text" name="quan[]" />
<input type="text" name="udprice[]" />
<input type="text" name="item[]" />
<input type="text" name="quan[]" />
<input type="text" name="udprice[]" />
<input type="text" name="item[]" />
<input type="text" name="quan[]" />
<input type="text" name="udprice[]" />
您可以在这个非常有用的答案中看到更多相关信息:HERE
当你提交这个任意数量的字段时,你将得到一个漂亮的多维数组。像这样迭代它:
$i = count($_POST['item']);
$payload = array();
while ($i <= count($_POST['item']) {
$payload[] = array(
'item' => $_POST['item'][$i],
'udprice' => $_POST['item'][$i],
'quan' => $_POST['quan'][$i]
);
$i++;
}
现在$payload
是一个花哨的数组,可以插入数据库等。