mysql_fetch_array echo到json

时间:2012-06-26 06:16:42

标签: php json

我试图找出如何输出我的php以回显我的json文件。

<?php
$sql_query = "SELECT * FROM some_data";
$result = mysql_query($sql_query);
$total_rows = mysql_num_rows($result);
$dataList_desc = '';
$dataList_view = '';
    while($row = mysql_fetch_array($result)) {
            $video_desc = $row["video_desc"];
            $video_views = $row["video_views"];
            $dataList_desc .= '' . $video_desc . '';
            $dataList_view .= '' . $video_views . '';
            echo "[[\" \", \"" . $dataList_desc . "\",],[\" \", \"" . $dataList_view . "\",]";

    }
  mysql_close($con);
?>

我的输出是:

[[" ", "Title 1",],[" ", "1000",][[" ", "Title 1Title 2",],[" ", "1000906",][[" ", "Title 1Title 2Title 3",],[" ", "10009061150",][[" ", "Title 1Title 2Title 3Title 4",],[" ", "100090611501800",][[" ", "Title 1Title 2Title 3Title 4Title 5",],[" ", "100090611501800756",][[" ", "Title 1Title 2Title 3Title 4Title 5Title 6",],[" ", "100090611501800756558",]

我需要的是:

[["", "Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6"],["", 1000, 903, 1150, 1800, 756, 558]]

请帮忙。

2 个答案:

答案 0 :(得分:11)

$desc = array(); $views = array();
while($row = mysql_fetch_array($result)) {
        $desc[] = $row["video_desc"]; // or smth like $row["video_title"] for title
        $views[] = $row["video_views"];
}
$res = array($desc, $views);
echo json_encode($res);

答案 1 :(得分:8)

不要创建自己的JSON!使用json_encode数组进行编码

$data = array();
while ($row = mysql_fetch_assoc($result)) {

    ... maybe some processing of $row here ...

    $data[] = $row;
}

echo json_encode($data);