3 回答
TA贡献1824条经验 获得超6个赞
我已经修改了您的脚本
<select id="dept" name="dept" class="dept" width="100" style="width: 100px">
<?php
$dropdown = array();
while ($line = odbc_fetch_array($result)){
$fullNames=substr($line['fullName'],strpos($line['fullName'],'-')+1);
$selected="";
if($fullNames==$_POST['dept'])
$selected="selected=\"selected\"";
}
$dropdown[$fullNames] = "<option value=\"".$fullNames."\" $selected>".$fullNames."</option>";
}
echo implode('',$dropdown);
?>
</select>
您也可以在查询中获取唯一记录,因为您没有发布查询并更新提供的代码。
TA贡献2012条经验 获得超12个赞
也许您可以使用当前循环将名称推送到数组中,然后过滤掉重复的值。然后使用另一个循环回显标签。
<select id="dept" name="dept" class="dept" width="100" style="width: 100px">
<?php
$array = [];
while ($line = odbc_fetch_array($result)){
$fullNames=substr($line['fullName'],strpos($line['fullName'],'-')+1);
array_push($array,$fullNames);//push all names into a array
}
$array = array_unique($array); //filter the duplicate names.
//another loop to echo the <option>
foreach ($array as $fullNames) {
if ($fullNames==$_POST['dept']){
$selected="selected=\"selected\"";
}
else {
$selected="";
}
echo "<option value=\"".$fullNames."\" $selected>".$fullNames."</option>";
}
?>
</select>
添加回答
举报