Search code examples
jsongoogle-visualization

Data column(s) for axis #0 cannot be of type string error in google chart


I tried to populate google chart datatable in server side using PHP.I got JSON file properply, but the Chart not display in client Application. I got error-Data column(s) for axis #0 cannot be of type string . My coding is below here.

After fetching data from database,

$colarray=array(array("id"=>"","label"=>"userid","pattern"=>"","type"=>"number"),array("id"=>"","label"=>"name","pattern"=>"","type"=>"string"));

  $final=array();
    for($i=0;$i<$rows;$i++) 
    {
     $id[$i]=pg_fetch_result($res1,$i,'id');
     $name[$i]=pg_fetch_result($res1,$i,'name');
     $prefinal[$i]=array("c"=>array(array("v"=>$name[$i]),array("v"=>$name[$i])));
     array_push($final,$prefinal[$i]);
    }


    $table['cols']=$colarray;
    $table['rows']=$final;
    echo json_encode($table);

My Output Json:

{
  "cols":[
    {"id":"","label":"userid","pattern":"","type":"number"},
    {"id":"","label":"name","pattern":"","type":"string"}
   ],
  "rows":[
    {"c":[{"v":"101"},{"v":"Aircel"}]},
    {"c":[{"v":"102"},{"v":"Srini"}]},
    {"c":[{"v":"103"},{"v":"Tamil"}]},
    {"c":[{"v":"104"},{"v":"Thiyagu"}]},
    {"c":[{"v":"105"},{"v":"Vasan"}]},
    {"c":[{"v":"107"},{"v":"Senthil"}]},
    {"c":[{"v":"108"},{"v":"Sri"}]},
    {"c":[{"v":"109"},{"v":"Docomo"}]},
    {"c":[{"v":"106"},{"v":"Innodea"}]}
    ]
}

How to solve this issue?


Solution

  • You specify type of userid as number... but pass string.. thats causing the problem.

    I just wasted 30 mins with the opposite problem ...

    Your output json should look like :-

    {
      "cols":[
        {"id":"","label":"userid","pattern":"","type":"number"},
        {"id":"","label":"name","pattern":"","type":"string"}
       ],
      "rows":[
        {"c":[{"v":101},{"v":"Aircel"}]},
        {"c":[{"v":102},{"v":"Srini"}]},
        {"c":[{"v":103},{"v":"Tamil"}]},
        {"c":[{"v":104},{"v":"Thiyagu"}]},
        {"c":[{"v":105},{"v":"Vasan"}]},
        {"c":[{"v":107},{"v":"Senthil"}]},
        {"c":[{"v":108},{"v":"Sri"}]},
        {"c":[{"v":109},{"v":"Docomo"}]},
        {"c":[{"v":106},{"v":"Innodea"}]}
        ]
    }