2012-09-20 16 views
8

Estoy tratando de que la recarga dinámica funcione en d3 y tengo problemas para tratar de encontrar la forma de actualizar los datos de la base de datos.Cargar dinámicamente datos externos de la base de datos en d3.js

I tienen una matriz que contiene los valores deben cambiar cada segundo:

datos

var = [1,2,3,4];

En mi guión inicial, tenía PHP extraer los datos de la base de datos para configurar la matriz, y volver a cargar la página funciona bien para eso, pero me gustaría utilizar la funcionalidad de recarga de d3 en busca de nuevos datos y volver a dibujar el diagrama.

Soy completamente nuevo en js y d3, por lo que cualquier sugerencia sería de gran ayuda.

Intenté utilizar el comando get de jQuery para llamar a un script PHP externo que genera los valores, pero parece que no funciona.

Básicamente estoy tratando de replicar el gráfico de barras de la pantalla en tiempo real de Google Analytics.

Respuesta

1

primer lugar, se necesita una página en el servidor que va de salida de los datos en formato JSON *. Una vez que tenga esa página, llámela desde el navegador, y debería obtener los datos codificados que aparecen en la pantalla (esto demostrará que la página está alojada correctamente y devolviendo datos)

A continuación, siga el ejemplo simple en los documentos D3 enlace que publicó Yeco. Tendrá que reemplazar la URL ficticia con la dirección a su nueva página de datos y colocar allí su propia llamada de función para volver a dibujar la tabla con los datos nuevos.

* Nota: No estoy familiarizado con PHP, pero debe tener un codificador JSON nativo o una biblioteca estará disponible en la red. También necesitarás asegurarte de configurar apropiadamente el tipo de mime de respuesta, un google rápido debería darte el tipo de mime correcto, es algo así como 'application/json', creo, pero no puedo recordar la parte superior de mi cabeza

+0

bien, así que tienen una secuencia de comandos independiente que emite el siguiente: '[110.157.131.111.136]' Pero yo sólo recibo errores cuando intento utilizar d3.json. –

+0

Bien, cambiándolo para que todo el método de dibujo viva dentro de la función de d3.json. ¡Gracias! –