【发布时间】:2015-05-15 12:19:12
【问题描述】:
我目前正在基于一些 json 数据构建一个 rapheal.js 地图,这些数据是我从 wordpress 中的数据库中导出的。我在构建 JSON 方面得到了一些帮助,但是我在处理一些需要计算的元素时遇到了麻烦。
如果您查看下面的脚本,您会注意到 gender 和 country 两行。性别行可以是男性、女性或其他。国家显然是国家。我要做的是计算每个国家/地区的每个性别有多少,然后将其显示在工具提示数组 HTML 中。这意味着它需要首先检查国家/地区,然后检查每种性别中有多少人属于该国家/地区。
function mapInfo() {
global $wpdb;
$preJSON = array();
// select only columns you need
$sql = "SELECT * FROM wp_mas";
//$count = 0; // this is for $preJSON[] index
foreach( $wpdb->get_results( $sql ) as $key => $row ) {
$value = $row->id;
$latitude = $row->lat;
$longitude = $row->long;
$gender = $row->gender;
$country = $row->country_srt;
$tooltip = array(
"content" => '<h2 class="country-name">- '. $country .' -</h2><p>female amount, male amount, other amount'
);
$main = array(
"latitude" => $latitude,
"longitude" => $longitude,
"tooltip" => $tooltip
);
$preJSON[$country.$count] = array(
"latitude" => $latitude,
"longitude" => $longitude,
"tooltip" => $tooltip
);
++$count;
}
wp_send_json($preJSON);
}
我想我可以用一个 SQL 脚本来做到这一点,但我不想访问数据库两次。
【问题讨论】:
-
我想我可以用 REPEAT 和几个子查询来解决这个问题,你能给我一份你的表格设计吗?
-
你用
$main做什么?你用$value做什么? -
ps。不要评论
$count = 0;。这将在++未初始化时向您发出警告。