首页 > 解决方案 > 删除php下拉列表中的重复项

问题描述

我有一个 php 下拉列表,它从数据库中检索位置,它正确获取所有数据,但有时如果数据库中的两条记录相同,它会在下拉列表中添加两次。这是一个位置下拉列表,有些位置是重复的,我想知道我可以添加什么代码来删除重复的条目并只保留一个。

这是我的代码:

               <label for="select-service">
                <strong>Enter a Location:</strong>
            </label>
            <select class="form-control" id="select-location" class="col-xs-12 col-sm-4 form-control" required>
                <option value="">Select Location</option>



                 <?php
            foreach($appointment_locations as $location) {

             $LocationsArray = explode(",", $location->notes);

              foreach($LocationsArray as $singleLocation):
                 ?>

                <option value="<?=$singleLocation ?>"><?=$singleLocation  ?></option>                  

                <? endforeach;

                 };?>

            </select>

编辑:

这是输出 在此处输入图像描述

我尝试使用foreach(array_unique($appointment_locations) as $location) {,但当我点击该位置时它没有显示我的第二个提供商Rosebank

标签: phpcodeigniter

解决方案


1)验证您插入的数据以避免这种情况

2)为什么你不group by从数据库中检索数据?


如果您无权执行此操作,则可以尝试简单的解决方案而不是array_unique解决方案

$tmp = [];
foreach ($repeatedLocations as $location) {
    if (isset($tmp[$location]) == false) {
        // do your stuff
        $tmp[$location] = true;
    }
}
unset($tmp);

推荐阅读