php pdo 数组,PHP PDO将数组转换为不同的格式

本文讲述了如何使用PHP PDO 执行SQL查询,并通过PDO::FETCH_ASSOC获取数据,然后将这些数据转换为FusionCharts所需的JSON格式,以便在图表中展示。作者求助于如何正确处理数组并解决编码问题。
摘要由CSDN通过智能技术生成

我试图使用

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

try {

# MySQL with PDO_MYSQL

$mysql_host = 'host';

$mysql_database = 'table';

$mysql_username = 'user';

$mysql_password = 'pass';

$conn = new PDO("mysql:host=$mysql_host; dbname=$mysql_database", $mysql_username, $mysql_password);

// set the PDO error mode to exception

$conn->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}');

[

{

"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();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值