1

フルカレンダーにイベントを入力するのに苦労しています。以下は私のコードで、mysqlからデータをフェッチしようとしています

class mycalendarleaves extends Generic{ function calendar_LeaveDetails(){

$year = date('Y');
$month = date('m');
$this->user_id = $_SESSION['user_id'];
$params = array( ':user_id' => $this->user_id );
$stmt   = parent::query("SELECT * FROM messages WHERE TYPE = 'leave' AND leave_status='approved' AND sender_id = :user_id;", $params);

while($value = $stmt->fetch()) :    
    $_SESSION['cal_data']  = array(
            'id'    => $value['id'],
            'title' =>  $value['sender_name'],
            'start' =>  "$year-$month-10"
            );
    endwhile;
}

}

echo json_encode($_SESSION['cal_data']);

$mycalendarleaves = 新しい mycalendarleaves();

ここにスクリプトがあります

<script type='text/javascript'>
$(document).ready(function() {
    $('#calendar').fullCalendar({
        editable: true,
        events: "calendar.php",
        eventDrop: function(event, delta) {
            alert(event.title + ' was moved ' + delta + ' days\n' +
                '(should probably update your database)');
        },
        loading: function(bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }
    }); 
});

エラーは発生しません。カレンダーにはデータがなくても空白のままです。私は何を間違っていますか?

4

1 に答える 1

1

他の誰かが問題を抱えている場合に備えて、これは彼らにも役立つかもしれません.

以下は、mysqlからデータをフェッチしている私の関数です

 function calendar_EventDetails(){


$year = date('Y');
$month = date('m');
$this->id = $_SESSION['id'];
$params = array( ':id' => $this->id );
$stmt   = parent::query("SELECT * FROM TABLENAME WHERE TYPE = 'event' AND status='approved' AND id = :id;", $params);

unset($_SESSION['events']);
while($value = $stmt->fetch()) :

    $_SESSION['events'][]  = array(
            'id'    => $value['id'],
            'title' =>  $value['name'],
            'start' =>  "$year-$month-10"

            );
    endwhile;
}

以下は、上記の関数が配置されているphpファイルを呼び出すスクリプトです

<script type='text/javascript'>
$(document).ready(function() {
    $('#calendar').fullCalendar({
        editable: true,
        events: "calendar.php",
        eventDrop: function(event, delta) {
            alert(event.title + ' was moved ' + delta + ' days\n' +
                '(should probably update your database)');
        },
        loading: function(bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }
    }); 
});

于 2013-01-16T10:10:16.547 に答える