GDP*_*GDP 6 php json pdo restler
随着AJAX的相对新颖,现在刚刚开始学习PDO,ReSTler的额外水平让我完全厌恶.从建模样本Restler下面的代码,我不知道如何改变从什么PDO输出格式被返回到什么Restler和Highcharts期待.
如何更改此代码以从当前格式获取所需格式?(结果通常是5K-10K记录,如果这是处理MySQL结果的一个因素.)
ReSTler API代码段:
$sql = "SELECT ....."
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$stmt = $this->db->query($sql);
return $stmt->fetchAll();
} catch (PDOException $e) {
throw new RestException(502, 'Listing History: ' . $e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)
当前输出格式(包括不需要的列名称):
[
{
"chart_date": "1118966400000",
"bandwidth": "10.01",
"views": "101"
},
{
"chart_date": "1119225600000",
"bandwidth": "20.02",
"views": "101"
},
Run Code Online (Sandbox Code Playgroud)
期望的输出格式(数字和无列名称):
[
[
1118966400000,
10.01,
101
],
[
1119225600000,
20.02,
202
],
Run Code Online (Sandbox Code Playgroud)
使用建议 编辑fetch(PDO::FETCH_NUM):
根据@Ricardo Lohmann的回答,我尝试了fetch(PDO :: FETCH_NUM),DID删除了列名,但所有返回的列似乎都是字符串,而不是数字,因为数据实际上是,所以试试这个,给我一个正确的数据类型 - 这是PDO单方面返回字符串的一部分吗?
while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
$array[$x][0] = intval( $row[0] );
$array[$x][1] = intval( $row[1] );
$array[$x][2] = intval( $row[2] );
$x++;
}
return $array;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5137 次 |
| 最近记录: |