我有一个创建表单的while循环,我希望用户做的是在他们想要的项目旁边输入一个数字,提交后它将提交他们输入的数字加上我提供的变量(没有他们看到变量)。这可能吗? php循环遍历文本文件,输出每一行作为用户的选项。
while(($line = fgets($filehandle)) !== false){
$itemParts = explode(" - ",$line);
$item = $itemParts[0];
$price = $itemParts[1];
echo "<input type='text' name='hardware[]' value='{$item}-|-{$price}'>£".$price." ".$item."<br />";
}
在结果页面上,我循环遍历hardware []数组,向用户显示他们的选择以及更新数据库。
foreach ($_POST['hardware'] as $itemWanted){
$itemParts = explode('-|-',$itemWanted);
$item = $itemParts[0];
$cost = $itemParts[1];
echo $item.' £'.$cost.'<br />';
$total += $cost;
$allHardware .= "**".$item." - GBP ".$cost;
}
我可能会以错误的方式解决这个问题,但有没有人知道这是否可能存在未知数量的文本文件和项目?我目前的工作方式是有一个复选框而不是文本框,一切正常,但现在我需要用户选择他们需要的金额。
while(($line = fgets($filehandle)) !== false){
$itemParts = explode(" - ",$line);
$item = $itemParts[0];
$price = $itemParts[1];
echo "<input type='checkbox' name='hardware[]' value='{$item}-|-{$price}'><font size='2'>£".$price." ".$item."</font><br />";
}
提前感谢您提供任何帮助
答案 0 :(得分:1)
您应该尝试使用输入名称作为命名数组,这使得使用PHP循环更加有趣:
<input name='hardware[0][item]' value='{$item}'>
<input type='hidden' name='hardware[0][price]' value='{$price}'>
<input type='hidden' name='hardware[0][something]' value='{$something}'>
你的php $_POST
中的将是一个等同于:
的数组 $_POST['hardware'] = array(
0 => array(
'item' => $item,
'price' => $price,
'something' => $something,
),
)
如果你使用多行,你应该用迭代器替换0 希望它有所帮助:)