2017-06-13 61 views
0

所以我遇到了一個奇怪的問題。我試圖顯示圖表數據,但必須將我的數據轉換爲JSON的JSON_ENCODE不會返回任何內容。它之前工作的時間我有更少的數據,但由於某種原因,它不再返回任何東西。json_encode不工作(已)

這裏是我的PHP:

$vak = $q->getVakAll(); 

$data = array(); 
foreach($vak as $vak){ 
    $vak = $vak->getCode(); 
    $result = $q->getAanwezigheidVakkenPerJaar($value, $vak); 
    foreach ($result as $row) { 
     $data[] = $row; 
    } 
} 
print json_encode($data); 

這什麼也不輸出,奇怪的是,當我加入這個在$數據[] = $行:

echo $row['vak']; 
echo $row['percentage']; 

它確實輸出的東西,這樣的:

Webdevelopment 176Webdevelopment 224Introductie object georiënteerd programmeren75Multimedia & Design59Informatiestromen73Introductie IT Modelleren6 

這就是我想成爲輸出,但然後JSON編碼,有人可以幫助我嗎?

編輯:

$vak = $q->getVakAll(); //gets all subjects (like webdevelopment)// 

$result = $q->getAanwezigheidVakkenPerJaar($value, $vak); //this returns all subjects with their corresponding presence (for example, webdevelopment 1 has a total presence of 74(%)// 
+0

'$ q-> getVakAll();'return? – Rimble

+0

@Rimble它返回包含值的所有主題。就像輸出中返回的那個一樣 – sebas2201

+3

與「foreach($ vak as $ vak)」是否有衝突? – hRdCoder

回答

1

這是你的問題

foreach($vak as $vak) 
    $vak = $vak->getCode(); 

您正在摧毀你的這些命令$vak陣列。

不要在所有地方重複使用$vak變量。試試這個。

$vaks = $q->getVakAll(); 

$data = array(); 
foreach($vaks as $vak){ 
    $code = $vak->getCode(); 
    $result = $q->getAanwezigheidVakkenPerJaar($value, $code); 
    foreach ($result as $row) { 
     $data[] = $row; 
    } 
} 
0

而不是print使用:echo json__encode(array) die;希望這可以幫到你。