用于日历的mySQL的while循环中的json_encode()数组

时间:2012-06-28 00:06:40

标签: php mysql arrays json loops

在JSON方面,我不知道我在做什么。所以这可能是一个愚蠢的问题,我可能试图以一种奇怪的方式做到这一点。任何帮助都会很棒。

我有这个Jquery日历我试图放在我的网站上。它允许日期的json_encode。这是他们给出的例子。

    $year = date('Y');
$month = date('m');

echo json_encode(array(

    array(
        'id' => 111,
        'title' => "Event1",
        'start' => "$year-$month-10",
        'url' => "http://yahoo.com/"
    ),

    array(
        'id' => 222,
        'title' => "Event2",
        'start' => "$year-$month-20",
        'end' => "$year-$month-22",
        'url' => "http://yahoo.com/"
    )

));

我想使用现有的mySQL数据库来填充日历。这是我到目前为止所拥有的。它不起作用,我不认为我对此很聪明。

$dataSQL ="select *
            FROM events
        ";

$dataResult = mysqli_query($dataBase, $dataSQL);

$encode = array();

$p=0;
    while($allRow = mysqli_fetch_array($dataResult))
        {
            $new = array(
                        'id' => "$allRow['id']",
                        'title' => "$allRow['title']",
                        'start' => "$allRow['date']",
                        'url' => "$allRow['url']"
                    );
            array_splice($encode, ($p), 0, $new);

            $p++;
        }


echo json_encode($encode);

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您的阵列结构出现问题,那么您就有点复杂了。您可以构建这样的数组:

$encode = array();

while($allRow = mysqli_fetch_array($dataResult))
       {
            $new = array(
                        'id' => $allRow['id'],
                        'title' => $allRow['title'],
                        'start' => $allRow['date'],
                        'url' => $allRow['url']
                    );
            $encode[] = $new;

        }

echo json_encode($encode);