Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/10/2012, 05:47
Avatar de 60NZ4
60NZ4
 
Fecha de Ingreso: mayo-2012
Ubicación: 404 Not found
Mensajes: 112
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Generar Graficas javascript con datos desde php

buenas gracias por tu respuesta, lo he probado con json , pero el grafico desaparece, no se donde meter la funcion de amcharts.ready , porque si quito esto el grafico no sale, pero obtengo los datos, es decir llevas razon con eso debo cojer los datos y he probado que si que salen, pero ahora no se mostrarlos para que salga el grafico, no se como retocar la funcion

-------
EDITO
-------

Código Javascript:
Ver original
  1. function manejaJSON() {
  2.        
  3.         var http_request = new XMLHttpRequest();
  4.         var url = "respuestajson.php"; // Esta URL deberia devolver datos JSON
  5.          
  6.         // Descarga los datos JSON del servidor.
  7.         http_request.onreadystatechange = function (){
  8.        
  9.                 if (http_request.readyState == 4) {
  10.                     if (http_request.status == 200) {
  11.                    
  12.                       var cadCodificadaJSON = http_request.responseText;
  13.                      
  14.                       var objDatos = eval("(" + cadCodificadaJSON + ")"); //Creamos el objeto utilizando la cadena codificada
  15.                
  16.                       //Ahora con el objeto desplegamos los datos mandados desde el servidor
  17.                       document.getElementById("divNombre").innerHTML = objDatos.nombre[0];
  18.                       document.getElementById("divVeces").innerHTML = objDatos.veces[0];
  19.                                  var chartData = [{
  20.                                     country: objDatos.nombre[0],
  21.                                     value: objDatos.veces[0]
  22.                                 }, {
  23.                                     country: objDatos.nombre[1],
  24.                                     value: objDatos.veces[1]
  25.                                 }, {
  26.                                     country: objDatos.nombre[2],
  27.                                     value: objDatos.veces[2]
  28.                                 }, {
  29.                                     country: objDatos.nombre[3],
  30.                                     value: objDatos.veces[3]
  31.                                 }, {
  32.                                     country: objDatos.nombre[4],
  33.                                     value: objDatos.veces[4]
  34.                                 }, {
  35.                                     country: objDatos.nombre[5],
  36.                                     value: objDatos.veces[5]
  37.                                 }];
  38.                     return chartData;
  39.              
  40.                    
  41.                    
  42.                     } else {
  43.                       alert("Ocurrio un problema con la URL.");
  44.                     }
  45.                    
  46.                     http_request = null;
  47.                   }
  48.                 }
  49.        
  50.        
  51.         http_request.open("GET", url, true);
  52.         http_request.send(null);
  53.         }
  54.            
  55.             manejaJSON();
  56.             var chart;
  57.             var legend;
  58.        
  59.             AmCharts.ready(function () {
  60.                 // PIE CHART
  61.                 chart = new AmCharts.AmPieChart();
  62.                 chart.dataProvider = chartData;
  63.                 chart.titleField = "country";
  64.                 chart.valueField = "value";
  65.                 chart.outlineColor = "#FFFFFF";
  66.                 chart.outlineAlpha = 0.8;
  67.                 chart.outlineThickness = 2;
  68.                 // this makes the chart 3D
  69.                 chart.depth3D = 15;
  70.                 chart.angle = 30;
  71.  
  72.                 // WRITE
  73.                 chart.write("chartdiv");
  74.             });

este es el nuevo codigo, pero no se como cargar el array chartData en donde corresponde
__________________
Nadie nace aprendido, un experto es simplemente alguien que ya ha cometido muchos errores

Última edición por 60NZ4; 03/10/2012 a las 09:21