2012-06-28 60 views
1

我不知道我在做什麼,當涉及到JSON。所以這可能是一個愚蠢的問題,我可能會試圖做一個奇怪的方式。任何幫助都會很棒。json_encode()陣列用於MySQL的日曆

我有這個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); 

在此先感謝!

+0

不宜$ dataSQL變量先來作爲參數傳遞給mysqli_query(? – Chibuzo

+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);