Comunidad de diseño web y desarrollo en internet online

Problemas para formatear cadena

Citar            
MensajeEscrito el 15 Oct 2014 02:14 pm
Hola a todos, tengo una cadena que obtengo desde un json que obtengo de una consulta a la base de datos. Esta cadena que formo, a partir del arreglo, la necesito para "pintar" una gráfica con la api de google chart. Hasta este punto todo bien. La cadena que formo es la sigiuente:

Código :

['Usuario', 'Participacines'],['usr1', 3],['usr2', 9],['usr3', 74],['usr4 ', 3],['usr5', 19],['usr6', 74],['usr7', 2],['usr8', 60],['usr9 ', 3]


y la inserto en la función de la api de google chart, pero me marca lo siguiente: "Data column(s) for axis #0 cannot be of type string×"

El código que utilizo es el siguiente:

Código Javascript :

    <script type="text/javascript">

    $(document).ready(function(){

    });
        var arrayJS=<?php echo $a->get_estadist_JS(); ?>;
        var grafica = new Array();
        
        if(!arrayJS){
          newTable = '<td><p>No hay datos disponibles</p></td>'; 
        }else{
          grafica += ("['Usuario', 'Participacines'],");
          $.each(arrayJS, function(key, value){        
            grafica += "['"+value["usuario"]+"', "+value["cuantos"]+"],"
          });          
        } 
        grafica = grafica.substr(0, grafica.length - 1);
         
      console.log(grafica);
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      
      function drawChart() {
        var data = google.visualization.arrayToDataTable( [ grafica ] );

        var options = {
          title: 'EDUC',
          //vAxis: {title: 'Alumno',  titleTextStyle: {color: 'red'}}
        };

        var chart = new google.visualization.BarChart(document.getElementById('chart_div'));

        chart.draw(data, options);
      }
    </script>



Lo que no logro entender es, que si asigno una variable php con la cadena mencionada, y la asigno

Código :

var data = google.visualization.arrayToDataTable([ <?php echo $var ?> ]);


funciona a la perfección.

Alguien pudiera decirme qué estoy haciendo mal.

Gracias

Por JavierMMM

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Oct 2014 11:21 pm
No es que la cadena este mal construida, si no que estas imprimiendo un texto plano, es decir "hola texto"

Por eso te dice que es del tipo String,

aun si hicieras echo "[" . $var . "]" no funcionaria, ya que debes ingresar un Array o un Objeto JSon construido.

tienes de 2 sopas, evaluar el string y hacerlo object, o devolver un Object a partir de una petición AJAX

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.