获取来自$ i的值,但订单不安

时间:2016-03-18 17:48:03

标签: php sql forms for-loop

for ($i = 0; $i < count($name); $i++) 
   {
    //some output ommited

        <td><input type='submit' value='Purchase' name='$name[$i]'></td></tr>";
    }
  

$ name [$ i] = name1,name2,name3,name4,name5,name6

现在点击按钮后,这就是我应该显示的内容。

if (isset($_REQUEST['name1'])) {echo "name1 selected";}
if (isset($_REQUEST['name2'])) {echo "name2 selected";}
if (isset($_REQUEST['name3'])) {echo "name3 selected";}
if (isset($_REQUEST['name4'])) {echo "name4 selected";}
if (isset($_REQUEST['name5'])) {echo "name5 selected";}
if (isset($_REQUEST['name6'])) {echo "name6 selected";}

我在db中有选项可以启用或禁用任何名称。如果禁用name3,$i的顺序/顺序将会更改。我无法显示所需的参数w.r.t $i

对于exmaple我想要显示,名称3已禁用:

if (isset($_REQUEST['name4'])) {
    echo "$name[4] selected, kind is $kind[4] kind and type is $type[4]";
}

如果禁用了name3,则name4将显示name5

中的值

2:

如何使用$ name [$ i]

获取Request的值
for loop () {
    if (isset($_REQUEST['$name[$i]'])) {echo "name1 selected";} 
}

帮我设置一个算法来获取$i的值,这样即使订单受到干扰,我也应该知道$i正在携带哪个值。

1 个答案:

答案 0 :(得分:1)

首先,您需要将$i连结到name才能获得唯一名称:

for ($i = 0; $i < count($name); $i++) 
{
   echo "<td><input type='submit' value='Purchase' name='$name . $i'></td></tr>";
}

如果$name是&#34;名称&#34;然后你会得到&#34; name1&#34;,&#34; name2&#34;,&#34; name3&#34;等等。

然后你可以print_r($_REQUEST);看到提交的项目。

您不需要for循环来查看设置了哪些项目,但是如果您想循环遍历REQUEST数组,则可以执行以下操作:

foreach($_REQUEST as $post_var) 
{
    if('name' == substr($post_var, 0, 4))
    {
        echo $post_var . ' ';
    }
}

结果:

  

name1 name2 name3