如何使用数据库查询为每个查询执行wordpress循环

如何使用数据库查询为每个查询执行wordpress循环,wordpress,Wordpress,因此,我试图在WordPress中使用for_each定制一个循环代码,以便为每个具有州名称的表显示一个代码城市。。我的结果是这样显示的 - New York -- city1 -- city2 -- city3 - New Jersey -- city1 -- city2 等等。。在数据库mysql中,每个条目都放在一行中,其中State表和City表位于同一行中 我试过做以下几件事,但都失败了 $states = $wpdb->get_row("SELECT *

因此,我试图在WordPress中使用for_each定制一个循环代码,以便为每个具有州名称的表显示一个代码城市。。我的结果是这样显示的

- New York
  -- city1
  -- city2
  -- city3
- New Jersey
  -- city1
  -- city2
等等。。在数据库mysql中,每个条目都放在一行中,其中State表和City表位于同一行中

我试过做以下几件事,但都失败了

$states = $wpdb->get_row("SELECT * FROM $wpdb->wp_em_locations WHERE location_state=*);
$city = $wpdb->get_row("SELECT * FROM $wpdb->wp_em_locations WHERE location_town=*);
foreach ( $states as $state ) {
echo '$state';
echo '$city';
}

编辑:获取行可能不是获取此信息的最佳方法。我正在使用您的上下文来获取此信息,但这可能是您正在寻找的方法

$states = $wpdb->get_results("SELECT location_state FROM wp_em_locations GROUP BY location_state");
foreach ( $states as $state ) {
  echo $state->location_state;
  $cities = $wpdb->get_results("SELECT location_town FROM wp_em_locations WHERE location_state = '" . $state . "'");
  foreach ($cities as $city) {
      echo $city->location_town;
  }
}

参考:

对变量使用正确的处理方法!回音“$state”;行不通!使用echo$state;或回声状态;我相信你的语法是错误的。您不应该根据您获得的$state获取$city信息吗?在foreach$state中,您应该根据所列出的状态获取$wpdb信息,并拥有自己的foreach循环。是的,看起来是一个更好的描述,但是我没有得到任何东西。更新了我的答案。我看到了我的错误。@Robert_Lee不确定,但仍然空白。。。我是不是忘了结尾的论点了。我把这个放在中间,对吗?很抱歉,我只是在数据库方面做得不好。为了明确表是wp_em_locations,列是location_state,数据库名为“events”,以便您从Wordpress数据库以外的其他数据库提取信息,您将无法使用$wpdb获取结果。如果此表与Wordpress安装在同一个数据库中,则可以使用。