【问题标题】:Get the values from $i , with disturbed order从 $i 获取值,顺序混乱
【发布时间】:2016-07-05 14:27:04
【问题描述】:
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";}

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

例如我想显示,禁用 name3:

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携带的是哪个值。

【问题讨论】:

  • 那是伪代码,对吧 Sam?
  • @Fred-ii- ,, 对,那是伪代码。

标签: php sql forms for-loop


【解决方案1】:

首先,您必须将 $i 连接到 name 以获得唯一名称:

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

如果$name 是“name”,那么您将得到“name1”、“name2”、“name3”等。

那你可以print_r($_REQUEST);查看提交的项目。

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

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

结果:

名称1 名称2 名称3

【讨论】:

  • 值被正确传递,正如我在代码中提到的那样
  • if (isset($_REQUEST['name1'])) {echo "name1 selected";} .... 如何用 $name ..if (isset($_REQUEST[' $name[$i]'])) {echo "name1 selected";}
  • A.你从来没有表示过,2。那你在问什么?
  • 我刚刚编写了一个我正在使用的示例代码,并且需要我应该得到的输出,B:我已经编辑了第二部分的问题
  • 您不需要 for 循环来查看设置了哪个@moonakhan
猜你喜欢
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多