如何从PHP数组中选择选项的值?
问题描述:
我在while循环中有一个选择选项表单字段,它具有multiple =“true”属性。如果选择选项应该被多选,我们应该在名称中加一个方括号,如[]。 如何从PHP数组中选择选项的值?
编号:How to get multiple selected values of select box in php?
while($rowdocmap=$resdocmap->fetch_object()){ <select class="form-control" name="selMonths[]" multiple="multiple" required="required">
<?php $lsmonths=explode(",", $rowdocmap->DM_Months);
for ($m=1; $m<=12; $m++) {
$month = date('F', mktime(0,0,0,$m, 1, date('Y')));
?>
<option value="<?php echo sprintf("%02d", $m); ?>" <?php if(in_array($m, $lsmonths)) echo 'selected="selected"'; ?>><?php echo $month?></option> <?php } ?> </select>
}
在这种情况下我怎么可以从每个选择框中的值阵列
答
你的表单字段的名称是“selMonths”这样(没有多个)将在PHP中存在,当你的形式sumbitted为:
$_POST['selMonths'];
这将是与多个选项一样,虽然此时这将是一个数组,并且你将不得不循环通过它来处理每个选定OPTON:
foreach($_POST['selMonths'] as $selectedMonth){
// Do something with $selectedMonth
}
使用循环中的多个选择框,您将需要一种方法来识别每个选择框。使用循环中的元素($ rowdocmap-> id?),并将其添加到第一组方括号中的选择框的命名约定中,以在提交时创建多维数组。
<select name="selMonths[$rowdocmap->id][]" multiple="multiple" required="required">
...
然后,你将能够访问他们
foreach($_POST['selMonths'] as $selectBox){
foreach($selectBox as $key => $selectBoxOption){
// Do something with $key ($rowdocmap->id)
// and $selectedMonth (selected option)
}
}
IM具有while循环每一个人选择方框内,多个选择框是具有多个=“true”属性一个呈三角方式。你的答案不起作用。 – rahul
@Plum我已更新答案 – MaggsWeb
是的。绝对正确的答案。 – rahul