AJAX は比較的新しく、PDO を学び始めたばかりですが、追加された ReSTler のレベルに完全に戸惑いました。Restler のサンプルから以下のコードをモデル化すると、出力形式を PDOが返すものから Restler と Highcharts が期待するものに変更する方法がわかりません。
このコードを現在の形式から必要な形式に変更するにはどうすればよいですか? (MySQL の結果を処理する要因である場合、結果は通常 5K ~ 10K のレコードになります。)
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());
}
現在の出力形式(不要な列名を含む):
[
{
"chart_date": "1118966400000",
"bandwidth": "10.01",
"views": "101"
},
{
"chart_date": "1119225600000",
"bandwidth": "20.02",
"views": "101"
},
望ましい出力形式(数値で列名なし):
[
[
1118966400000,
10.01,
101
],
[
1119225600000,
20.02,
202
],
提案 を使用して編集fetch(PDO::FETCH_NUM)
:
@Ricardo Lohmann からの回答によると、列名を削除する fetch(PDO::FETCH_NUM) を試しましたが、返された列はすべて数値ではなく文字列のように見えます。正しいデータ型 - 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;