3

私は自分の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]]

助けてください。

4

2 に答える 2

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);
于 2012-06-26T06:23:25.443 に答える
9

独自の JSON を作成しないでください。配列json_encodeをエンコードするために使用します。

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

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

    $data[] = $row;
}

echo json_encode($data);
于 2012-06-26T06:22:53.580 に答える