2013-12-17 150 views
1

我想創建從我的數據庫中的一些數據的谷歌圖表,現在我有這樣的代碼:顯示在數據表格式JSON

<?php 
$q = mysql_connect('localhost', 'xxx', 'xxx'); 
mysql_select_db('xxx', $q); 
?> 
<?php 
$sth = mysql_query("SELECT inkoop, verkoop FROM prijs WHERE inkoop >= 1 "); 
$rows = array(); 
while($r = mysql_fetch_assoc($sth)) { 
    $rows[] = $r; 
} 
print json_encode($rows); 
?> 
<?php 
$sth = mysql_query("SELECT tijd FROM prijs WHERE inkoop >= 1"); 
$cols = array(); 
while($c = mysql_fetch_assoc($sth)) { 
    $cols[] = $c; 
} 
print json_encode($cols); 
?> 

,這讓我這個輸出:

[{"inkoop":"516","verkoop":"484"},{"inkoop":"515","verkoop":"488"},{"inkoop":"515","verkoop":"487"}][{"tijd":"2013-12-17 23:45:00"},{"tijd":"2013-12-17 23:48:00"},{"tijd":"2013-12-17 23:52:00"}] 

什麼我需要的是這樣的事情,以創建的線圖:

{ 
    "cols": [ 
     {"id":"","label":"Topping","pattern":"","type":"string"}, 
     {"id":"","label":"Slices","pattern":"","type":"number"} 
     ], 
    "rows": [ 
     {"c":[{"v":"Mushrooms","f":null},{"v":3,"f":null}]}, 
     {"c":[{"v":"Onions","f":null},{"v":1,"f":null}]}, 
     {"c":[{"v":"Olives","f":null},{"v":1,"f":null}]}, 
     {"c":[{"v":"Zucchini","f":null},{"v":1,"f":null}]}, 
     {"c":[{"v":"Pepperoni","f":null},{"v":2,"f":null}]} 
     ] 
} 

編輯:我需要的線圖兩行一個關於「inkoop」和一個FO r'verkoop',如果我可以使用這樣的東西:http://www.highcharts.com/stock/demo/它會更好。

提前致謝!

+0

可能的重複[漂亮打印JSON與PHP](http://stackoverflow.com/questions/6054033/pretty-printing-json-with-php) –

+0

感謝您的迴應,但我需要行和列,這隻會打印更漂亮.. – Mwisho

回答

0

我不確定我完全理解了你的問題,但聽起來你已經有了這個對象,你只需要它們格式化得更好一些,這樣你就可以將它們放入圖表軟件中了?

如果這就是你想要的,我想你已經走上了正軌。我在與腳本的開始創建一個新的對象:

$json = new stdClass();  

,然後爲你讓你的$rows$cols陣列設置,將它們分配給對象:

$json->rows = $rows; 
... 
$json->cols = $cols; 

,當你json_encode($json);它應該看起來像你的例子。

如果您需要對SQL中的數據進行額外的操作,然後才能以理想的形式進行操作,則應該通過創建對象並向它們添加屬性來完成所有操作。

我希望這有助於!