【问题标题】:Array of array from mysql to populate selects for cities in countries来自 mysql 的数组用于填充国家/地区城市的选择
【发布时间】:2015-03-25 10:45:32
【问题描述】:

我目前有一个带有两个选择下拉菜单的网页。 The top one is populated with countries, and when one is selected, the second select is then populated with major cities for that country.

目前 MySQL 用于从国家/地区表中获取所有记录以填充第一个选择,在选择一个后,使用 ajax 调用从 MySQL 对城市表的查询中获取结果,使用 where 子句仅返回所选国家/地区的城市。

如果每次更改国家/地区都不需要 ajax 调用,我该如何处理?并且还不必为每个国家/地区运行查询?

【问题讨论】:

    标签: php jquery mysql


    【解决方案1】:

    您可以选择所有国家,包括加入的主要城市:

    SELECT * FROM countries, cities WHERE cities.country_id = countries.id
    

    您可以将 Javascript 中的数据临时存储为 JSON 对象

    var data = JSON.parse("<?php echo json_encode($mysql_result); ?>");
    

    在更改下拉列表时,您可以搜索数据对象并返回第二个下拉列表的城市:

    changeDropdown = function( country ){
        var cities = new Array();
        for( var i = 0; i < data.length; i++ ){
            if( data[i].country == country ){
                cities.push(data[i].cityName);
            }
        }
        return cities;
    }
    

    上面的代码当然取决于你的数据模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多