我试图使用PHP pdo使用非弃用技术转换由下面的代码获得的数组:
$stm = $conn->prepare("SELECT * FROM mysqltable"); $stm->execute(); $results = $stm->fetchAll(PDO::FETCH_ASSOC); print_r($results);
使用融合图所需的以下格式
[ { label: "CJ Anderson", value: "25" }, { label: "Imran Tahir", value: "25" }, ... ... ]
原始数组如下:
Array ( [0] => Array ( [Id] => 6 [Number] => 1234567890 [Visits] => 1 [Name] => John ) [1] => Array ( [Id] => 7 [Number] => 1236549871 [Visits] => 9 [Name] => Jerry ) [2] => Array ( [Id] => 8 [Number] => 2147483647 [Visits] => 3 [Name] => Jane ) )
任何帮助将不胜感激,谢谢.
编辑:正如我在下面评论.我有一个完整的php文件,如果您手动放入数据,它可以工作.虽然当我放入$ jsonEncodedData时,我无法让它工作.思考?
FusionCharts XT - Column 2D Chart - Data from a database setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $conn->exec("SET CHARACTER SET utf8"); // Sets encoding UTF-8 } catch(PDOException $e) { echo $e->getMessage(); } // Form the SQL query that returns the top 10 most populous countries // Execute the query, or else return the error message. $stm = $conn->prepare("SELECT Name, Visits FROM mysqltable"); //WHERE Area :SelArea"); $stm->execute(); $results = $stm->fetchAll(PDO::FETCH_ASSOC); include("fusioncharts.php"); $jsnarray = array(); foreach($results as $k => $v){ $jsnarray[] = array('label' => $results[$k]['Name'], 'value' => $results[$k]['Visits']); }; $jsonEncodedData=json_encode($jsnarray); new FusionCharts("type of chart", "unique chart id", "width of chart", "height of chart", "div id to render the chart", "type of data", "actual data"); $columnChart = new FusionCharts( "column2d", "ex1" , "600", "400", "chart-1", "json", '{ "chart": { "caption":"Harry\'s SuperMart", "subCaption":"Top 5 stores in last month by revenue", "numberPrefix":"$", "theme":"ocean" }, "data": //$jsonEncodedData}'); <---I tried to insert this after "data":but no results unlike if you put raw data** [ { "label":"Bakersfield Central", "value":"880000" }, { "label":"Garden Groove harbour", "value":"730000" }, { "label":"Los Angeles Topanga", "value":"590000" }, { "label":"Compton-Rancho Dom", "value":"520000" }, { "label":"Daly City Serramonte", "value":"330000" } ] }'); // Render the chart $columnChart->render(); ?>
==============编辑12/28/15 ==========
尝试以下代码没有结果,问题我不应该以"}"结尾,因为它们要求:
$columnChart = new FusionCharts( "column2d", "ex1" , "600", "400", "chart-1", "json", '{ "chart": { "caption":"Harry\'s SuperMart", "subCaption":"Top 5 stores in last month by revenue", "numberPrefix":"$", "theme":"ocean" }, "data": ' . $jsonEncodedData); //}'; // Render the chart print_r($columnChart); $columnChart->render(); ?>