使用从数据库检索的信息创建JSON数组

时间:2013-11-01 22:54:45

标签: php mysql database json web

我正在尝试使用从数据库中选择的信息创建一个JSON数组,但我不能给该数组命名。

while($row = mysql_fetch_array($result))
{
        $arr = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);
        echo json_encode($arr);
}

我想看到结果;

  

{ “事件”:[{ “ISIM”: “EERE”, “揭掉”: “DDDD”, “顶”: “asdfsdffgdfgdfg”, “焦油”: “2013年10月18日”, “SAAT”: “12点46分”} { “ISIM”: “fhjfr”, “揭掉”: “yhjrhj”, “顶”: “ryjryjrj”, “焦油”: “二○一三年十月三十零日”, “SAAT”:“12: 45 “} {” ISIM “:” sfsgsg”, “揭掉”: “sfgssfg”, “顶”: “sgsfgsg”, “焦油”: “2013年10月31日”, “SAAT”: “12:45”} ]}

但我看不到

  

{ “事件”:[

在开始和

  

]}

最后。

谢谢。

1 个答案:

答案 0 :(得分:1)

要生成有效的JSON,首先需要将所有内容添加到多维数组中,然后只有在完成后才对其进行编码:

$arr = array();
while($row = mysql_fetch_array($result))
{
        $arr[] = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);
        // or perhaps just: $arr[] = $row;
}
echo json_encode($arr);

另请注意,mysql_*函数已弃用。

要将所有内容放在events键下,您需要以下内容:

$arr['events'][] = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);