在下拉列表中只显示一次相同的项目?

时间:2014-07-08 08:51:06

标签: php html

我有以下下拉列表,它有一个共同的项目'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>

2 个答案:

答案 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));
       }

现在你在数组中拥有所有唯一值,循环显示列表。

注意:如果你有大数据,这可能是一个开销。