当前位置: 首页 > 知识库问答 >
问题:

如何从不同的表格中以最优化的方式获取国家、州、城市名称

宰父正真
2023-03-14

我有一个员工表,城市国家和州表。我的员工表存储了国家和城市的id。我想country_name,state_name,city_name使用mysqli查询优化的形式。

员工表

emp_id  name  email         country  state   city
------- ----   -----         -------  ------  -----
    1    abc  a@gmail.com     1      1       1

国家表

country_id    country_name
-----------   -------------
1                India

状态表

state_id  country_id  state_name
--------  ----------  -----------
1            1          Gujarat

城市表

city_id   state_id  city_name
-------    -------   --------
1            1       Ahmedabad

用于获取数据的函数

  function select_employee(){
      $sth =  $this->con->prepare("SELECT  * from employees");
      $sth->execute();
      $result = $sth->fetchAll(PDO::FETCH_ASSOC);

      return $result;
  }

显示州、市、国家的功能

  function select_places(){
          $sth =  $this->con->prepare("SELECT country.country_name,state.state_name,city.city_name
                                                                            FROM employees
                                                                            LEFT JOIN country ON employees.country = country.country_id
                                                                            LEFT JOIN state ON employees.state = state.state_id
                                                                            LEFT JOIN city ON employees.city = city.city_id");
          $sth->execute();
          $result = $sth->fetchAll(PDO::FETCH_ASSOC);
          return $result;
      }

打印数据

<?php
   foreach ($result as $values){
                ?>
        </tr>
        <td><?php echo $values['country']; ?></td>
        <td><?php echo $values['state']; ?></td>
        <td><?php echo $values['city']; ?></td>
     }

在打印数据部分,我需要数据印度,古吉拉特邦,艾哈迈达巴德。不是他们的身份证。

输出

country_name  state_name  city_name
------------  --------   ----------
1                1           1

我需要什么

 emp_id   name    email       country_name   state_name    city_name
   -----   ----   -------      ------------   --------     ----------
    1      abc    ab@gm.com      India         Gujarat      Ahmedabad

我如何准备查询或加入?用雇员的ID从国家州城市表中得到名字

共有2个答案

顾亦
2023-03-14

更改$sth=$this-

$sth =  $this->con->prepare("      
SELECT employees.* country_table.country_name, state_table.state_name, city_table.city_name FROM 
   (((employees INNER JOIN country_table ON employees.country_id = country_table.country_id)
   INNER JOIN state_table ON employees.state_id = state_table.state_id)
   INNER JOIN city_table ON employees.city_id = city_table.city_id)");

王鹏飞
2023-03-14

作用

 function select_employee(){
      $select = "SELECT * from employees";
      $select .= " join country on employees.country_id = country.country_id";
      $select .= " join state on employees.state_id = state.state_id";
      $select .= " join city on employees.city_id = city.city_id";
      $sth =  $this->con->prepare($select);
      $sth->execute();
      $result = $sth->fetchAll(PDO::FETCH_ASSOC);

      return $result;
  }

印刷

<?php foreach ($result as $values): ?>
    <tr>
        <td><?php echo $values['country_name']; ?></td>
        <td><?php echo $values['state_name']; ?></td>
        <td><?php echo $values['city_name']; ?></td>
    </tr>
<?php endforeach;?>
 类似资料:
  • 我有500000个纬度和经度坐标列表,如下所示: 我希望使用python在一个新列中获得每个坐标的城市、州和国家,如下所示: 有了这么大的数据集,如何在python中实现这一点?我听说过Google的API,Nominatim的API和Geopy包。 如何将所有行运行到此代码中?现在我必须手动输入经纬度到最后一行。 输出给我('Bowdon','North Dakota','USA')。我希望用我

  • 在论坛上搜索了几天,我仍然无法理解它... null (不需要其他的东西,因为其余的是通过lat/lon坐标运行的)。 在登录时,我希望他们 通过谷歌地图上的标记来设置坐标(单点击和只有1个标记,第二次点击标记会删除第一个标记,不确定我是否会使用传感器....)

  • 问题内容: 我有一个php页面,我想从国家,州和城市列表中选择一个位置。该页面包含用于用户注册的其他数据(名称,电子邮件等),因此在选择框刷新时,我不想刷新页面或其他任何内容。当前,每个选择框仅加载国家,州或城市的完整列表。我希望将它们链接起来,所以我没有重复的城市名称(不同州或国家/地区的名称相同)。 位置存储在数据库中,并在加载时传递到页面。然后将它们循环并添加到选择框中: 数据库结构非常简单

  • 在我的前端(反应)需求之一,我需要获得全球国家名称,国家名称,城市名称,位置标识,纬度和经度,一旦一个地方从自动完成建议中被选中。我能够从响应的几何键中获得城市名称(从名称键)、地点ID、纬度和经度。我使用这个谷歌脚本使用的地方api服务= [“地区”、“政治”],{“长名”:“班加罗尔市区”、“短名”:“班加罗尔市区”、“类型”:[“行政区”二级”、“政治”],{“长名”:“卡纳塔克邦”、“短名

  • 我有一个表格,上面有国家、州、城市、城市的纬度/经度。我试图构建一个json字符串,如下所示。 数据库查询结果在一个数组中:JSONData。我有国家的代码。不确定如何添加一个州如果它不存在和一个城市如果它不存在与城市的纬度和经度(我有的部分???)

  • 问题内容: 我已经找到了针对Objective-C的答案,但是林先生很难迅速做到这一点。 我用它来获取当前位置的国家代码: 但是,如何将该国家/地区代码转换为国家/地区名称,例如在此示例中,将“ US”转换为“ United States”? 问题答案: 迅捷3

  • 我已经在搜索上实现了谷歌地图API。我的代码工作正常,直到自动生成的位置,但我想要这样的设施,我可以得到准确的位置,只提供城市名称,而不是整个格式的字符串。 对于EX: 请检查此映像http://demo.ncryptedprojects.com/nct_bnb_clone_new/untitled.png 我正在输入城市名称孟买在搜索框和谷歌地图API检索所有值在下拉。当某人没有选择任何值从下拉

  • 与为共享同一位置的多个用户输入重复的用户位置不同,我计划通过将Locations表中的locationID提供给user表中的每个用户来进行规范化,这样我就不必在user表中重复输入Country、State和City了,这样我就节省了磁盘空间。(美国,CT,Woodhaven) 在几个用户说“12”之后,用户可以输入“USA”、“NY”、“Albany”,并将此条目输入到“Locations”表