2017-04-06 18 views
-2

예약 웹 응용 프로그램을 만들고 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()을 사용하여 텍스트의 형식을 확인하고 필요하다면 mb_convert_encoding()을 사용하는 경우 UTF-8로 변환하십시오.

문제를 디버그하는 데 도움이되기를 바랍니다. 미안해, 내가 너에게 똑바로 대답 할 수있어.