如何编码多行结果的json?

问题描述 投票:2回答:1

我尝试在json中对结果进行编码,但它并没有真正起作用。当查询具有多个结果时,它不起作用。当结果只有一行时,一切正常。

if (isset($_REQUEST['query'])) {
    $query = $_REQUEST['query'];
    $sql = mysqli_query ($db, "SELECT a, b FROM table WHERE a LIKE '%{$query}%' OR b LIKE '%{$query}%'");
    $array = array();
    while ($row = mysqli_fetch_assoc($sql)) {
        $array[] = array (
            'label' => $row['a'].', '.$row['b'],
            'value' => $row['a'],
        );
    }
    //RETURN JSON ARRAY
    echo json_encode ($array); 
}  
php mysql arrays json
1个回答
0
投票

试试这个代码

if (isset($_REQUEST['query'])) {
    $query = $_REQUEST['query'];
    $sql = mysqli_query ($db, "SELECT a, b FROM table WHERE a LIKE '%{$query}%' OR b LIKE '%{$query}%'");
    $array = array();
    $i = 0;
    while ($row = mysqli_fetch_assoc($sql)) {
        $array[$i] = array (
            'label' => $row['a'].', '.$row['b'],
            'value' => $row['a'],
        );
        $i++;
    }
    //RETURN JSON ARRAY
    echo json_encode ($array); 
}
© www.soinside.com 2019 - 2024. All rights reserved.