2017-04-06 10 views
-2

私はスケジューリングWebアプリケーションを作成していますが、SQLデータベースからリソースをロードしようとしています。それはリソースを取得するために私のPHPファイルを実行しているが、それらのどれもカレンダーに表示されていることを示しています。私は本当になぜ彼らが表示されていないかわからない、私はfullcalendarのドキュメントを見て、それは私がルールで遊んでいるように私に見えた。誰でも知っている理由は?ここでリソースがPHP jsonフィードからロードされていません

はfullcalendarのコードです:

var calendar = $('#calendar').fullCalendar({ 
    schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source', 
    header:{ 
     left:'promptResource, prev, next, today', 
     center:'title', 
     right: 'month, agendaDay, timelineThreeDays, listDay' 
    }, 
    views: { 
     timelineThreeDays: { 
     type: 'timeline', 
     duration: { days: 3 }, 
     slotWidth: 75, 
     } 
    }, 
    businessHours: { 
     dow: [1, 2, 3, 4, 5], 
     start: "09:00", 
     end: "17:00", 
    }, 
    resources: "resourceGetScript.php", 
    events: [ 
     { id: '1', resourceId: '1', start: '2017-04-05T10:00:00', end: '2017-04-05T11:00:00', title: 'event 1', doctor: 'Habib Habib'}, 
    ], 
    defaultView: "timelineDay", 
    minTime: "09:00", 
    maxTime: "17:00", 
    weekends: false, 
    slotDuration: "01:00:00", 
    allDaySlot: false, 
    selectable: true, 
    theme: true, 
    contentHeight: 800, 
    eventOverlap: false, 
    resourceAreaWidth: "12%", 
    slotWidth: 200, 
    resourceLabelText: 'Rooms', 
    select: function(start, end, allDay, jsEvent, view) { 
     alert("test"); 
    }, 
    eventClick: function(calEvent, jsEvent, view){ 
     var myResource = calendar.fullCalendar('getEventResource', calEvent); 
     myResource.title = "Change"; 
     calendar.fullCalendar('refetchResources'); 
     alert('Event: ' + calEvent.title + " " + calEvent.resourceId + " " + myResource.title); 
    }, 
    resourceRender: function(resourceObj, labelTds, bodyTds){ 
     labelTds.on('click', function(){alert("clicked" + resourceObj.id + resourceObj.title);}); 
    } 
    }) 

、ここでは、私は、データベースからの私のリソースを取得resourceGetScript.phpためのコードです:

<?php 
    session_start(); 
    include("includes/databaseHandler.inc.php"); 
    if(!isset($_SESSION['name'])){ 
    header("Location: ../index.php"); 
    } 

    if($stmt = mysqli_prepare($conn, "SELECT * FROM rooms")){ 
    mysqli_stmt_execute($stmt); 
    $result = mysqli_stmt_get_result($stmt); 
    $resources = array(); 
    while ($row = mysqli_fetch_assoc($result)){ 
     $resourceArray['id'] = $row['id']; 
     $resourceArray['title'] = $row['title']; 
     $resources[] = $resourceArray; 
    } 

    echo json_encode($resources); 
    } 
?> 

答えて

0

は完全にリソースの機能を使用していませんFullCalendarのしかし、この問題を解消するには、まずこの文書を使用していくつかのリソースをハードコーディングしてみてください:https://fullcalendar.io/docs/resource_data/resources_array/

このデモを使用して手動でリソースを構築し、PHPファイル(https://github.com/StarterSquad/fullcalendar-resource/blob/master/demos/json-resource-events.php)をテストすることができます。それが正常に動作する場合

、あなたは正しくリソースを構造化していることを確認するためにresourceGetScript.phpファイルと右jscon_encode($リソース)前ますprint_r($リソース)を実行します。 mb_detect_encoding()を使用してテキストの書式を確認し、必要ならばそれ以外の場合はUTF-8に変換してください。mb_convert_encoding()

これは、問題をデバッグするのに役立ちます。申し訳ありませんが、私はあなたにまっすぐ答えを与えることができます。

関連する問題