Php 从URL中的参数标记selectbox中的元素
我对选择框有一个小问题,它必须从URL参数中标记一些选项 我有一个URL,可以像这样Php 从URL中的参数标记selectbox中的元素,php,parameters,foreach,drop-down-menu,Php,Parameters,Foreach,Drop Down Menu,我对选择框有一个小问题,它必须从URL参数中标记一些选项 我有一个URL,可以像这样 index.php?page=edit&lid=4&recs=1,4,7&hl=Test&lhash=7c2cd87dad07ac99a00e92041a5d6a38 其中,我想使用recs参数中的1,4,7在我的选择框中标记ID为1、4和7的邮件组,如 <select name="groups" multiple="multiple"> <option va
index.php?page=edit&lid=4&recs=1,4,7&hl=Test&lhash=7c2cd87dad07ac99a00e92041a5d6a38
其中,我想使用recs参数中的1,4,7在我的选择框中标记ID为1、4和7的邮件组,如
<select name="groups" multiple="multiple">
<option value="1" selected="selected">Group 1</option>
<option value="2">Group 2</option>
<option value="3">Group 3</option>
<option value="4" selected="selected">Group 4</option>
<option value="5">Group 5</option>
<option value="6">Group 6</option>
<option value="7" selected="selected">Group 7</option>
<option value="8">Group 8</option>
</select>
然后
<option value="'. $row["mailgroup_id"] .'" '. $sel .'>'. $row["mailgroup_name"] .' - '. $row["country"] .'</option>
”$行[“邮件组名称”]。-'$行[“国家”]。'
但这似乎不起作用,因为所有组都被标记了在我看来,
$sel
的值在整个循环中不断变化,但当您打印时,它只是在上一次循环迭代中设置的值。你需要的是这个
foreach($recis as $rec) {
if($row["mailgroup_id"] == $rec) {
$sel = 'selected="selected"';
} else {
$sel = '';
}
// print the option tag here or store the $sel value
// for the given mailgroup_id
}
p、 为什么叫它
$sel
而不是$selected
?“sel”可能意味着很多事情,不要害怕更长的名称-它提高了可读性为什么不尝试在邮件组id记录集上循环
$recis = explode(",", $_GET["recs"]);
while($row=mysql_fetch_array($rs))
{
if( in_array($row["mailgroup_id"], $recis))
{
$sel = 'selected="selected"';
}
else
{
$sel = '';
}
// Option Code
}
选项代码
<option value="'. $row["mailgroup_id"] .'" '. $sel .'>'. $row["mailgroup_name"] .' - '. $row["country"] .'</option>
”$行[“邮件组名称”]。-'$行[“国家”]。'
试试这个:
$recis = explode(",", $_GET["recs"]);
foreach($recis as $rec) {
if($row["mailgroup_id"] == $rec) {
$row["selected"] = 'selected="selected"';
} else {
$row["selected"] = '';
}
}
在html中,您可以执行以下操作:
<option value="'. $row["mailgroup_id"] .'" '. $row['selected'].'>'. $row["mailgroup_name"] .' - '. $row["country"] .'</option>
”$行[“邮件组名称”]。-'$行[“国家”]。'
<option value="'. $row["mailgroup_id"] .'" '. $row['selected'].'>'. $row["mailgroup_name"] .' - '. $row["country"] .'</option>