SQL/WordPress/AJAX :使用 loop 格式化 JSON


SQL/Wordpress/AJAX : Format JSON With Loop

PROBLEM

我正在尝试查询我的数据库(wp_usermeta表)并将其导出为 JSON 格式,以便由自动完成插件处理。我需要将数据格式化为:

{"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();

如果您需要进一步解释,请在此处发表评论