在另一个变量名中使用变量名

时间:2019-12-11 09:07:41

标签: php forms request

对不起,我的英语。

  1. 我有一个连接到mysql DB的动态php表单。在库存阵列中,我保存了mysql查询结果。我可以访问产品名称[0]及其可用数量[4]。我使用产品名称[0]设置输入名称和可用数量来固定最大参数值,如下所示:
 <input type="number" name="<?php echo $stock[$i][0]?>" min="0" max="<?php echo $stock[$i][4]; ?>" value="0" style="width:4em>
  1. 我不知道将创建多少输入(哪些是动态的),因此我将创建的输入的名称保存在另一个数组$ _SESSION [“ INPUTS”]中,如下所示:
    array_push($_SESSION["inputs"],$stock[$i][0]);
  1. 在下一页中,我想$ REQUEST输入中的值。现在,我遇到了问题,我需要为创建的输入调用$ REQUEST,并将其名称保存在$ _SESSION [“ inputs”]中,我需要一些东西:`$ REQUEST [“ $ _ SESSION [” inputs“]]。我尝试它没有退出的不同方式。 任何想法?还有其他选择吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是将输入name属性命名为数组:例如:“ name = stock [产品名称]”。这种方法使您可以放弃使用$_SESSION["inputs"]

<input type="number" name="stock[<?php echo $stock[$i][0];?>]" min="0" max="<?php echo $stock[$i][4]; ?>" value="0" style="width:4em">

然后读取值:

$stocks = $_REQUEST['stock'];
foreach($stocks as $productName => $quantity) {
    //...
}

之所以有效,是因为输入提交后将其转换为php数组。

您甚至可以通过调用count获得输入的数量:

echo count($_REQUEST['stock']);