Php SQL/Wordpress/AJAX:使用循环格式化JSON
问题 我正在尝试查询我的数据库(wp_usermeta table),并将其导出为JSON格式,由自动完成插件处理。我需要将数据格式化为:Php SQL/Wordpress/AJAX:使用循环格式化JSON,php,mysql,json,ajax,wordpress,Php,Mysql,Json,Ajax,Wordpress,问题 我正在尝试查询我的数据库(wp_usermeta table),并将其导出为JSON格式,由自动完成插件处理。我需要将数据格式化为: {"suggestion":"copmany1", "umeta_id":"1"},{"suggestion":"company2", "umeta_id":"2"}, etc. {"suggestions":["concept9 test","Company"],"data":["58","77"]} 到目前为止 我的当前代码输出如下信息: {"sug
{"suggestion":"copmany1", "umeta_id":"1"},{"suggestion":"company2", "umeta_id":"2"}, etc.
{"suggestions":["concept9 test","Company"],"data":["58","77"]}
到目前为止
我的当前代码输出如下信息:
{"suggestion":"copmany1", "umeta_id":"1"},{"suggestion":"company2", "umeta_id":"2"}, etc.
{"suggestions":["concept9 test","Company"],"data":["58","77"]}
这是我的代码:
$query = $_GET["query"];
// escape values passed to db to avoid sql-injection
$query = $wpdb->get_results( "SELECT DISTINCT umeta_id, meta_value FROM wp_usermeta WHERE meta_key='company' AND meta_value LIKE '".$query."%' order by umeta_id" );
$suggestions = array();
foreach($query as $row) {
$suggestions[] = $row->meta_value;
$data[] = $row->umeta_id;
$response1 = array(
'suggestions' => $suggestions,
'data' => $data,
);
}
$response = json_encode( $response1 );
echo $response;
exit();
谢谢 像这样试试:
$query = $_GET["query"];
// escape values passed to db to avoid sql-injection
$query = $wpdb->get_results( "SELECT DISTINCT umeta_id, meta_value FROM wp_usermeta WHERE meta_key='company' AND meta_value LIKE '".$query."%' order by umeta_id" );
$suggestions = array();
foreach($query as $row) {
array_push($suggestions, array(
'suggestion' => $row->meta_value,
'umeta_id' => $row->umeta_id
)
);
}
echo json_encode( $suggestions );
exit();
如果您需要进一步解释,请在此发表评论Hi@Sasha89-谢谢您的建议!不幸的是,这会产生null。这可能是因为foreach循环将遍历查询,而不是公司。由于wp_usermeta表的格式如下所示,我们可能需要在其内部使用另一个循环:?谢谢能否在foreach和post结果中添加这一行:var_dump($row);死亡这就是我得到的
object(stdClass)#451(2){[“umeta_id”]=>string(2)“58”[“meta_value”]=>string(13)“concept9 test”}
这就是我所期望的,所以我不确定为什么会得到“null”哦,天哪,你完全正确..正在输出旧数组。现在应该可以了!我得到了[{“建议”:“概念9测试”,“umeta_id”:“58”},{“建议”:“公司”,“umeta_id”:“77”}]
-非常感谢!