javascript - Google Chart and Uncaught Error: Invalid JSON string: -


in demo.php, have google chart visualization set stated below:

<!--load ajax api-->         <script type="text/javascript" src="https://www.google.com/jsapi"></script>         <script type="text/javascript">       google.load("visualization", "1", {packages:["corechart"]});       google.setonloadcallback(drawchart);       function drawchart() {        var jsonpiechartdata = $.ajax({       url: "getvehicledata.php",       datatype:"json",       async: false     }).responsetext;      // create our data table out of json data loaded server.     var piechartdata = new google.visualization.datatable(jsonpiechartdata);          var options = {           title: 'vehicles in stock'         };          var chart = new google.visualization.piechart(document.getelementbyid('piechart'));          chart.draw(piechartdata, options);       }     </script> 

i have getvehicledata script written stated below well, have validated json on http://jsonlint.com/, still getting error on google chrome.

 $sql_qry = "select `make`, count(*) total `vehicle` group `make` order count(*) desc";             $data = perform_query($db, $sql_qry);         echo '{     "cols": [         {             "id": "",             "label": "make",             "pattern": "",             "type": "string"         },         {             "id": "",             "label": "totalnumber",             "pattern": "",             "type": "number"         }     ],     "rows": [';             foreach ($data $d){                 //echo $d['make'] . $d['total'];         echo ' {             "c": [                 {                     "v": "'.$d['make'].'",                     "f": null                 },                 {                     "v": "'.$d['total'].'",                     "f": null                 }             ]         }';    }   echo '] }' ; 

below error getting on google chrome:

uncaught error: invalid json string: {     "cols": [         {             "id": "",             "label": "make",             "pattern": "",             "type": "string"         },         {             "id": "",             "label": "totalnumber",             "pattern": "",             "type": "number"         }     ],     "rows": [ {             "c": [                 {                     "v": "vauxhall",                     "f": null                 },                 {                     "v": "2",                     "f": null                 }             ]         } {             "c": [                 {                     "v": "ford",                     "f": null                 },                 {                     "v": "1",                     "f": null                 }             ]         } {             "c": [                 {                     "v": "toyota",                     "f": null                 },                 {                     "v": "1",                     "f": null                 }             ]         } {             "c": [                 {                     "v": "mercedes",                     "f": null                 },                 {                     "v": "1",                     "f": null                 }             ]         } {             "c": [                 {                     "v": "citreon",                     "f": null                 },                 {                     "v": "1",                     "f": null                 }             ]         }] } 

$sql_qry = "select `make`, count(*) total `vehicle` group `make` order count(*) desc";             $data = perform_query($db, $sql_qry);         echo '{     "cols": [         {             "id": "",             "label": "make",             "pattern": "",             "type": "string"         },         {             "id": "",             "label": "totalnumber",             "pattern": "",             "type": "number"         }     ],     "rows": [';             foreach ($data $d){                 //echo $d['make'] . $d['total'];         echo ' {             "c": [                 {                     "v": "'.$d['make'].'",                     "f": null                 },                 {                     "v": "'.$d['total'].'",                     "f": null                 }             ]         },'; // added , here, don't know php enough not add comma last loop    }   echo '] }' ; 

see comment - don't know php enough suppress , on last loop in foreach - i'm javascript nerd, know enough php dangerous only

edit: rewrite may better

$sql_qry = "select `make`, count(*) total `vehicle` group `make` order count(*) desc"; $data = perform_query($db, $sql_qry); $output = ''; foreach ($data $d){     if ($output != '') {         $output .= ',';     }     $output .= '{         "c": [             {                 "v": "'.$d['make'].'",                 "f": null             },             {                 "v": "'.$d['total'].'",                 "f": null             }         ]     }'; } echo '{     "cols": [     {         "id": "",         "label": "make",         "pattern": "",         "type": "string"     },     {         "id": "",         "label": "totalnumber",         "pattern": "",         "type": "number"     } ], "rows": [' . $output . '] }' ; 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -