我有以下下拉列表,它有一个共同的项目'a'。此项目在输出中显示两次,但它只想让它一次。有人能帮助我吗?
<select name="">
<option value="a">a</option>
<option value="a">a</option>
<option value="b">b</option>
</select>
我的代码是
<select name="brand" id="brand" class="txtfld" >
<option value="">Select</option>
<?php
$country_sql="SELECT DISTINCT(brand) FROM customer where status='A' and brand<>''";
$result_country=executequery($country_sql);
while($country_array=ms_stripslashes(mysql_fetch_array($result_country)))
{
$sel_con=($country_array['brand']==$_REQUEST['brand'])? " selected='selected'" : " ";
$brand=$country_array['brand'];
$brand2=explode('|',$brand);
if(count($brand2)<2)
{
?><option value="<?=$brand;?>" ><?=$brand;?></option><?php
}
else
{
for($i=0;$i<count($brand2);$i++)
{
?><option value="<?=$brand2[$i];?>" ><?=$brand2[$i];?></option><?php
}
}
}
?>
</select>
答案 0 :(得分:0)
您可以使用array_unique(),它只保留数组的唯一值:
$brand2 = explode('|',$brand);
$brand2 = array_unique($brand2);
答案 1 :(得分:-1)
修改强>
尝试:
$new_array = array();
while($country_array=ms_stripslashes(mysql_fetch_array($result_country)))
{
$brand=$country_array['brand'];
$brand2=explode('|',$brand);
$NewArray = array_unique (array_merge ($NewArray, $brand2));
}
现在你在数组中拥有所有唯一值,循环显示列表。
注意:如果你有大数据,这可能是一个开销。