使用php从SQL服务器生成json数组

时间:2013-02-08 11:30:19

标签: php json

所以,我的问题在于: 我正在尝试跟进一个教程以创建一个应用程序,但我被困在json数组的一部分......

所以我需要的是创造这样的东西:

{
    "contacts": [
        {
                "id": "c200",
                "name": "Ravi Tamada",
                }
        },
        {
                "id": "c201",
                "name": "Johnny Depp",

                }
        },

  ]
}

然而,凭借我所做的一切,我得到了类似的东西:

[{"ID":"1","SPECIFIKIME":"12,9916,7165,1747,6973","IDPEMA":"119"}][{"ID":"2","SPECIFIKIME":null,"IDPEMA":"110"}]

我的代码是:

while( $row = odbc_fetch_array($res) ) {
$return_arr = array();


    $row_array['ID'] = $row['ID'];
    $row_array['SPECIFIKIME'] = $row['SPECIFIKIME'];
    $row_array['IDPEMA'] = $row['IDPEMA'];

    array_push($return_arr,$row_array);

echo json_encode($return_arr);


}

你能帮我解决一下这个怎么办? 感谢

1 个答案:

答案 0 :(得分:5)

首先,你必须将$return_arr移出循环,因为你每次都重新定义它(与json_encode相同),然后你必须添加子阵列联系人以使你的代码看起来像你'提出了

这是你的代码:

$return_arr = array();
$return_arr['contacts'] = array();
while( $row = odbc_fetch_array($res) ) {
    $row_array['ID'] = $row['ID'];
    $row_array['SPECIFIKIME'] = $row['SPECIFIKIME'];
    $row_array['IDPEMA'] = $row['IDPEMA'];

    array_push($return_arr['contacts'],$row_array);
}
echo json_encode($return_arr);