2016-10-17 13 views
0

私はFullCalendarプラグインを使用しています。 DBテーブルに保存されたイベントを表示したいのですが、これを選択して表示する方法はありますか?PHPカレンダー - PHPからイベントを取得

Javascriptを:

$(document).ready(function() { 
    $('#calendar').fullCalendar({ 
     defaultDate: '2016-09-12', 
     editable: true, 
     eventLimit: true, // allow "more" link when too many events 
     events: [ 
      { 
       id: 999, 
       title: 'Test Event', 
       start: '2016-09-09', 
       end: '2016-09-11' 
      } 
+0

からGetting/Setting data using PDO

- - A simple service that handles the data from the DB

からJSON response helper Class

それの良い部分は、/貼り付けをコピーして、

ニーズに合わせて変更することができるかもしれませんあなたのSQLクエリの結果。 – chris85

+0

これを行う方法がわからない、チュートリアルへのリンクや答えがある例がありますか? – Shane

+1

以下を見てください:http://stackoverflow.com/questions/6281963/how-to-build-a-json-array-from-mysql-databaseそこで使用されている 'mysql_ *'関数を使用しないでください。答えは5歳ですが、PDOまたはmysqliを使用してください。 – chris85

答えて

2

あなたが行う必要がありますかなりの数のものがありますが、以下のアプローチは、わずか一回限りのプロジェクトのために、それは非常にうまくスケールしません本当にあります。それはあなたが取る必要がある基本的な手順の概要を説明します。

選択した日付のクエリ文字列パラメータを受け入れる簡単なサービスを作成する必要があります。

サービスには、データベースからデータを取得するためにPDOなどのクエリを使用する必要があります。

私はここに始まるお勧めします: https://phpdelusions.net/pdo

エッセンシャルあなたが安全に選択基準として日付値を使用するために準備されたステートメントを使用することができます。

次に、配列を使用してレスポンスを構造化します。この例では、連想配列には、 "name"と "value"の2つのキーを持つ連想配列のインデックス付き配列を含む "data"という名前のキーが1つあります。

次に、ヘッダーを 'Content-Type:application/json'に設定して、ブラウザがレスポンスの処理方法を知っているようにします。

最後に、json_encode関数を使用して、ネストされたデータ配列をJSONに処理します。

ほとんど裸の骨サービスは次のようになります。

<?php 
date_default_timezone_set('UTC');//Set time zone appropriately 
//Get date from url , I set a default if there is no date, you mat want to throw an error... 

//Error throw if data param missing! 
$myDate = $_GET['date']; 

//Query DB to get back a result set. The sample data below is allows you to get a JSON respons back. 
//check out this tutorial to get a good understanding of how to use PDO to get your data from the DB: https://phpdelusions.net/pdo 

//This represents the data from your query. 
$foo = Array(
    data => Array(
     Array(
      'name' => 'Bar', 
      'value' => 42, 
      ), 
      Array(
      'name' => 'Baz', 
      'value' => -42, 
      ) 
     ) 
); 

//Make sure you set the header and then echo the content, there should be no extra white space after the header is set! 
header('Content-Type: application/json'); 
echo json_encode($foo); 
?> 

が、これはfoo.com/get-events.phpに位置していたと仮定すると、以下の要求:

$.ajax({ 
    url: 'http://foo.com/get-events.php', 
    method: 'GET', 
    dataType: 'json' 
}) 
.done(function(data) { 
//Use data to set calendar!!! 
console.log('Data: ', data); 
}); 

なり出力JSONの後:

{"data":[{"name":"Bar","value":42},{"name":"Baz","value":-42}]} 

また、コードの再利用とカバーを促進する簡単な構造化プロジェクト上で概説したトピック。を使用してJSON要素を構築DB/Table Info and setup

+1

開始時刻と終了時刻はオプションでなければなりません。 – itzmukeshy7

関連する問題