我有一个(咖啡)表单,其中包含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个选项与其他标签一样。
现在我正在尝试设置一个条件来检查用户选择了哪些项目,然后获取选项的值和标签的值选择。
所以我创建一个if
条件来检查所选项的值,但我不知道如何获取该项的标签(我的意思是我不知道如何在循环中包含它)。
这是我在php部分的代码:
for ($i = 1; $i <= count($_POST['item']); $i++) {
if (isset($_POST['item'][$i])) {
echo $_POST['item'][$i];
}
}
我的一些朋友告诉我
Foreach
功能可以提供帮助,但我仍然不知道如何:/
在循环中包含标签的任何帮助??
答案 0 :(得分:1)
从名称中删除早餐混合物和茶,如果你包含它,你必须在你的代码中回显item [0] [breakfast_blend]的值,它回显了物品[0],它不会给你带来价值
<select name="item[0]">
<select name="item[1]">
答案 1 :(得分: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;
}
}
}