2012-04-10 15 views
6

Kullanıcının istemci zamanlama bilgilerini görmesini ve istemcileri bir yönetim arabirimi üzerinden planlamasını sağlayan FullCalendar (http://arshaw.com/fullcalendar/) kullanarak bir uygulama kuruyorum.JSON feed'imdeki bilgileri görüntülemek için FullCalendar’ı nasıl alabilirim?

Diziyi doldurmak için bir MySQL veritabanı kullanmak ve bu diziyi bir JSON feed'inde bir HTML sayfasındaki FullCalendar biçiminde geçirmek istiyorum. İdeal olarak, istemci bilgileri HTML sayfasında görünecektir. Ancak, JSON feed'im geçse de, FullCalendar'ımda hiç olay yok.

[{"title":"Watson","start":"1333976400","end":"1333980000","allDay":false}] 

Bunları diller için oldukça yeni ve bu hata basit olduğu ortaya dönerse ben şaşırmam:

Örnek JSON yayını geçirilen.

Bu olayların ortaya çıkmasıyla ilgili herhangi bir yardıma veya içgörüye çok teşekkür ederim. Bir diziyi FullCalendar içine elle beslediğimde, bu olayları gösterir, ancak şu ana kadar JSON feed'im hiçbir bilginin görüntülenmemesine neden oldu.

Başvuru için size

ederiz: HTML:

 $(document).ready(function() {  
     $('#calendar').fullCalendar({ 
      events: '/json-events.php' 
     });  
}); 

PHP:

 while ($record = mysql_fetch_array($result)) { 
     $event_array[] = array(
      'id' => $record['id'], 
      'title' => $record['title'], 
      'start' => $record['start_date'], 
      'end' => $record['end_date'], 
      'allDay' => false 
     ); 
    } 

echo json_encode($event_array); 

cevap

7

Bu yüzden sorun, benden sonra gelen arama yapanlar için PHP dosyamın HTML başlık ve gövde etiketleri içermesiydi. Ben bir PHP noob'um ve bu yüzden işe yaramayacağını bilmiyorum. FullCalendar'ın JSON beslemesini görüntülemesi için, SADECE PHP koduna, HTML'ye sahip olmamalıdır. JSONLint.com, bunun anlaşılmasında çok değerliydi.

1
events: '/json-events.php' 

ya

events: './json-events.php' 
olmalıdır

veya

events: 'json-events.php' 

bu yardımcı olur bana bildirin ...

DÜZENLEME

Ben de Json de senin doğrultusunda hiçbir kimliği varsa almakta olduğunuzu fark ettim. Dizin içindeki adınızı, dizideki kullanımınıza göre karşılaştırmak arasında bir şey olabilir. Bunu kontrol edin ve neler olup bittiğini görün, çünkü olayı geçmek için gereken özelliklerden biri budur. $ Event_array [] ve ne olduğunu ... ben stumpped olduğumdan daha çalışmazsa bkz gelen [] çıkarmadan

DÜZENLEME

deneyin ...Özür

+0

Bu seçeneklerin ikisi de işe yaramıyor gibi görünüyor, ancak yorumu takdir ediyorum ve muhtemelen bu bölümü en sonunda düzeltmek zorunda kaldım. Takvimim hala boş. Yüklemeye çalışırken hiçbir etkinlik görünmüyor. – Reed

+0

@Reed Sadece benim postamı düzenledim –

+0

Ben şimdi de kimliği geçiyorum ama hiçbir boşuna – Reed

5
ben hızlı bir örnek kurmak ve herhangi bir sorun bu işe söylemesine gerek yoktu

:

PHP:

<?php 

$record[0]["title"]="Test 1"; 
$record[1]["title"]="Test 2"; 
$record[2]["title"]="Test 3"; 

$record[0]["start_date"]="1333976400"; 
$record[1]["start_date"]="1333976401"; 
$record[2]["start_date"]="1333976402"; 

$record[0]["end_date"]="1333980000"; 
$record[1]["end_date"]="1333980001"; 
$record[2]["end_date"]="1333980002"; 

$record[0]["id"]="1"; 
$record[1]["id"]="2"; 
$record[2]["id"]="3"; 

for ($i=0; $i<3; $i++) { 

    $event_array[] = array(
      'id' => $record[$i]['id'], 
      'title' => $record[$i]['title'], 
      'start' => $record[$i]['start_date'], 
      'end' => $record[$i]['end_date'], 
      'allDay' => false 
    ); 


} 

echo json_encode($event_array); 


exit; 

?> 

HTML: PHP

events: '/events.php' 

Örnek çıktı komut dosyası:

[{"id":"1","title":"Test 1","start":"1333976400","end":"1333980000","allDay":false},{"id":"2","title":"Test 2","start":"1333976401","end":"1333980001","allDay":false},{"id":"3","title":"Test 3","start":"1333976402","end":"1333980002","allDay":false}] 

Yukarıda yaptığım işler ve yukarıda yaptığınız şeyden çok farklı olmadığı için PHP betiğinin doğru bir şekilde çağrıldığını kontrol etmeniz gerekebilir. Fullcalendar olayları yüklemeye çalışırken ortaya çıkan hataların olup olmadığını görmek için Mozilla Firefox veya Google Chrome'daki Javascript konsolunu kontrol edin. PHP betiğinin herhangi bir sözü için web sunucusu erişim/hata kayıtlarınızı kontrol edin.

İlgili konular