2012-04-10 15 views
6

Estoy configurando una aplicación usando FullCalendar (http://arshaw.com/fullcalendar/) que permitirá al usuario ver la información de programación del cliente, así como programar los clientes a través de una interfaz de administración.¿Cómo obtengo FullCalendar para mostrar información de mi feed JSON?

Quiero usar una base de datos MySQL para completar una matriz, y luego pasar esa matriz en forma de una fuente JSON a FullCalendar en una página HTML. Idealmente, entonces, la información del cliente aparecería en la página HTML. Sin embargo, aunque mi feed JSON se está transfiriendo, no hay eventos en mi FullCalendar.

alimentación Ejemplo de JSON que se pasa:

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

Soy bastante nuevo en idiomas y no me sorprendería si este error llegar a ser simple.

Agradecería mucho cualquier ayuda o idea para que estos eventos aparezcan. Cuando introduzco manualmente una matriz en FullCalendar, muestra los eventos, pero hasta ahora mi alimentación JSON ha resultado en que no se muestra información.

Gracias

Como referencia: 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); 

Respuesta

7

Así que el problema, para aquellos buscadores que vienen después de mí, era que mi archivo PHP tenía etiquetas HTML de cabeza y cuerpo. Soy un novato de PHP y no sabía que eso haría que no funcionara. Para que FullCalendar muestre la fuente JSON, SOLO debe tener código PHP, no HTML. JSONLint.com fue invaluable para descubrirlo.

1
events: '/json-events.php' 

debe ser

events: './json-events.php' 

o

events: 'json-events.php' 

Quiero saber si esto ayuda ...

EDITAR

También he notado que en el JSON que su están recibiendo no hay id en la línea. Puede haber algo entre el nombre de su ID dentro de la BD comparada con el nombre que usa en la matriz. Compruébelo y vea si eso es lo que está sucediendo, porque esa es una de las propiedades necesarias para aprobar el evento.

EDITAR

intente eliminar el [] de $ event_array [] y ver qué pasa ... Si eso no funciona, de lo que estoy stumpped ...Lo sentimos

+0

Parece que ambas opciones no funcionan, aunque agradezco el comentario y probablemente haya tenido que arreglar esa parte con el tiempo. Mi calendario todavía está en blanco, sin eventos que aparecen mientras trato de cargarlo. – Reed

+0

@Reed Acabo de editar mi publicación –

+0

Ahora estoy pasando la identificación, pero en vano – Reed

5

que establecer un ejemplo rápido y no tuve ningún problema para conseguir que esto funcione:

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:

events: '/events.php' 

ejemplo del resultado del PHP secuencia de comandos:

[{"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}] 

Por lo tanto, dado que lo anterior funciona para mí y en realidad no es diferente de lo que tienes arriba, es posible que necesites verificar que el script PHP realmente se está llamando correctamente. Compruebe la consola de Javascript en Mozilla Firefox o Google Chrome para ver si se producen errores cuando Fullcalendar intenta cargar los eventos. Verifique los registros de acceso/error de su servidor web para cualquier mención del script PHP.

Cuestiones relacionadas