###前提・実現したいこと
while文を使ってpdoで取得したデータを連想配列で複数取得し、それを同ファイル内のjavascriptにjsonで送り、下記のような形にしたいのですが、可能でしょうか。
理由としては、グラフを作るpluginを使って、複数人のグラフを作る際, このような形にしなくてはならないため。
[ [ time, 'sample1' ], [ time, 'sample2' ], [ time, 'sample3' ] ],
[ [ time, 'sample1' ], [ time, 'sample2' ], [ time, 'sample3' ] ]
###発生している問題
下記コードで$json_testをprint_rすると
[["19","sample1"]][["19","sample1"],["30","sample2"]]
###該当のソースコード
php
1$graph_data = ""; 2$userData = array(); 3 4for($i = 0; $i < count($user_id_name); $i++){ 5 $sql ="ここはSELECT文が入ります"; 6 $stmt = $pdo -> query($sql); 7 $stmt->execute(); 8 9 while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ 10 $userData[]=array( 11 $result['time'], 12 $result['sample'] 13 ); 14 } 15$jsonTest=json_encode($userData,JSON_UNESCAPED_UNICODE); 16print_r($jsonTest); 17} 18 19$view = <<<EOD 20 21<!DOCTYPE html> 22<html lang="ja"> 23<head> 24<meta charset="UTF-8"> 25<script type = "text/javascript" src="/js/jquery/jquery-3.2.1.min.js"></script> 26 27<script type="text/javascript"> 28 29var test=JSON.parse('{$jsonTest}'); 30 31</script> 32
###補足情報
参考にしている使用するグラフのプラグインのソースコード
<script> jQuery( function() { Tokyo = [ [ 8346496, 'A' ], [ 3460285, 'B' ], [ 6013175, 'C' ], [ 1125782, 'D' ], [ 2649327, 'E' ], [ 2821056, 'F' ] ]; Osaka = [ [ 2782943, 'A' ], [ 8612849, 'B' ], [ 1628417, 'C' ], [ 5066818, 'D' ], [ 7536765, 'E' ], [ 9422470, 'F' ] ]; Nagoya = [ [ 2782943, 'A' ], [ 8612849, 'B' ], [ 1628417, 'C' ], [ 5066818, 'D' ], [ 7536765, 'E' ], [ 1747767, 'F' ] ]; 上記のtokyo,osaka,nagoyaの部分を今回mysqlで取得したデータにしたい jQuery . jqplot( 'jqPlot-sample', [ Tokyo, Osaka, Nagoya ], { seriesDefaults: { renderer: jQuery . jqplot . BarRenderer, rendererOptions: { barDirection: 'horizontal' } }, axes: { yaxis: { renderer: jQuery . jqplot . CategoryAxisRenderer, } } } ); } ); </script>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/24 17:51
2017/08/24 18:07
2017/08/25 01:55