<?php
// code that connects to database
?>
<table>
<form method="get" action="processorder.php">
<?php
while (list($pizzaId, $pizzaName, $pizzaNumber, $pizzaPrice) = mysql_fetch_row($resultaat))
{
echo "<tr>
<td>".$pizzaName."</td>
<td>".$pizzaNumber."</td>
<td>".$pizzaPrice."</td>
<td> <input type='text' name='$pizzaId' value='$qty' size='3' /></td>
</tr>";
}
mysql_close($db);
?>
<input type="submit" value="Order now" />
我想显示输入元素中有值的比萨饼。 processorder.php文件看起来像: 我的网址显示了'='之后的值的pizzaId。所以我想我的手上有一个关联数组。 我以为我会在我的processorder.php中放一个foreach循环,就像
一样 foreach ($_GET['pizzaId'] as $pizza => $qty)
{
echo $pizza." ".$qty."<br />";
}
然而,当我使用foreach循环时,浏览器中的错误表明我的foreach循环的参数无效,因为$ _GET ['pizzaId']不是一个开头的数组(我用is_array检查过)。 那么如何在input元素的value属性中访问这些值?
答案 0 :(得分:1)
你的$ pizzaId是一个整数。 我会将输入元素的名称更改为name =“pizzas [$ pizzaId]”,然后您可以通过PHP访问它,如下所示:
foreach ($_GET["pizzas"] as $pizzaId => $pizzaQty) {
echo "$pizzaId $pizzaQty<br />";
}
使用此方法,而不仅仅是普通名称=“pizzas []”,您还保留与实际pizzaId的关联。
答案 1 :(得分:0)
如果您需要将数组放入$ _GET,那么您的网址应如下所示:
//site/page?pizzaID[]=123&pizzaID[]=124
您可以使用name
输入字段
<input name="pizzaID[]" />
<input name="pizzaID[]" />