如果另一个表中存在记录,则动态填充下拉列表

时间:2017-06-06 10:06:42

标签: php mysql sql loops

我有一个英国(城镇和郡)的位置下拉列表,选中时通过jQuery过滤下面的div元素。

已设置位置的每个用户都有idprofiles表中存储的位置相关。

我希望列表从名为frmlocations的表中编译,该表包含1700多个城镇。但考虑到结果的数量以及我设想的移动流量超过桌面,我想过滤掉那些没有用户分配的城镇。他们(或在那个地方)。

我已经创建了一个PHP函数并尝试了一个连接,但仍然无法弄清楚如何进行过滤。

PHP函数代码:

 function get_alllocations() {
        require 'includes/db.config.php';

    $query = "SELECT 
                frmlocations.*
            FROM frmlocations
            JOIN parlours_profiles ON frmlocations.location_city = parlours_profiles.parlour_city
        "; 
    try 
    { 
        $stmt = $db->prepare($query); 
        $stmt->execute(); 
    } 
    catch(PDOException $ex) 
    { 
        die("Failed to run query: " . $ex->getMessage()); 
    } 
    $all_locations = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    return $all_locations;
}

下拉列表代码:

<select id="county-select" class="soflow">
    <option value="">Select your location...</option>
      <?php foreach(get_alllocations() as $locationlist): ?>
        <option value="<?php echo htmlentities($locationlist['city'], ENT_QUOTES, 'UTF-8'); ?>"><?php echo htmlentities($locationlist['city'], ENT_QUOTES, 'UTF-8'); ?></option>
      <?php endforeach; ?> 
</select>

0 个答案:

没有答案