【问题标题】:Loop for select array in php and html form循环选择 php 和 html 形式的数组
【发布时间】:2017-08-30 15:33:50
【问题描述】:

我有一个(咖啡)表单,其中包含 60 个 select 标签,每个 select 标签有 16 个 options,其中包含从 0 到 15 的数字。 像这样:

<label><select name="item[0][breakfast_blend]">
                              <option value="0">0</option>
                              <option value="1">1</option>
                              <option value="2">2</option>
                              <option value="3">3</option>
                              <option value="4">4</option>
                              <option value="5">5</option>
                              <option value="6">6</option>
                              <option value="7">7</option>
                              <option value="8">8</option>
                              <option value="9">9</option>
                              <option value="10">10</option>
                              <option value="11">11</option>
                              <option value="12">12</option>
                              <option value="13">13</option>
                              <option value="14">14</option>
                              <option value="15">15</option>
</select>Breakfast Blend</label>
<label><select name="item[1][tea]">
                              <option value="0">0</option>
                              <option value="1">1</option>
                              <option value="2">2</option>
                              <option value="3">3</option>
                              <option value="4">4</option>
                              <option value="5">5</option>
                              <option value="6">6</option>
                              <option value="7">7</option>
                              <option value="8">8</option>
                              <option value="9">9</option>
                              <option value="10">10</option>
                              <option value="11">11</option>
                              <option value="12">12</option>
                              <option value="13">13</option>
                              <option value="14">14</option>
                              <option value="15">15</option>
</select>Tea</label>

还有 60 个这样的选择与其他标签。

现在我正在尝试设置一个条件来检查用户选择了哪些项目,然后获取 option 的值和该 label选择。

所以我创建了一个if 条件来检查所选项目的值,但我不知道如何获取该项目的标签(我的意思是我不知道如何将它包含在循环中)。 这是我在 php 部分的代码:

for ($i = 1; $i <= count($_POST['item']); $i++) {
    if (isset($_POST['item'][$i])) {
        echo $_POST['item'][$i];
    }
}

我的一些朋友告诉我Foreach 功能可以提供帮助,但我仍然不知道如何:/

在循环中包含 标签 的任何帮助??

【问题讨论】:

  • 你为什么要把它们都做成 1 个数组?如果你给他们每个人一个唯一的名字,这对你来说会容易得多。
  • 标签值不会回传到服务器。您的服务器需要根据 name 属性来理解人类可读的描述应该是什么。要么你必须对其进行硬编码,要么你可以使用某种查找表。
  • @GrumpyCrouton 那么我应该如何在循环中使用它? @_@
  • foreach($_POST as $value)
  • @ADyson 我只是添加了一个简单但重要的代码部分,我已经将它发布到服务器并且它工作正常

标签: php html


【解决方案1】:

你可以这样做

for ($i = 1; $i <= count($_POST['item']); $i++) {
if (isset($_POST['item'][$i])) {
    foreach($_POST['item'][$i] as $cle => $value){
     $label =  ucwords(str_replace("_"," ",$cle));
     $item = $value;
     echo  $label." ".$item;
    }
}
}

【讨论】:

    【解决方案2】:

    如果包含早餐混合物和茶,则从名称中删除它,您现在必须在代码中回显 item[0][breakfast_blend] 的值,它正在回显没有给您价值的 item[0]

    <select name="item[0]">
    <select name="item[1]">
    

    【讨论】:

    • 那么我怎样才能获得所选项目的每个“标签”?关键是,我想给它发一封电子邮件。
    • 在你的 php 中创建数组,其中包含标签索引 0 的名称是早餐混合,索引 1 是茶等等
    猜你喜欢
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多