2014-08-31 75 views
-1

道歉,如果我的標題是模糊的,我會盡我所能迭代。使用JS解析JSON響應

我正在使用以下PHP代碼從MySQL DB返回COUNT查詢。

的響應是細但是我無法解析與JS將響應作爲我想的儀表板內僅呈現的值(freeboard.io)

<?php 
//Create Database Connection 
$db = mysql_connect("localhost","root","passwordROOT12"); 
if (!$db) { 
    die('Could not connect to the db brah: ' . mysql()); 
} 

//Select the database 
mysql_select_db("cp_investigations",$db); 

//Replace the * in the query with the column names. 
$result = mysql_query("select count(*) from emailAccount", $db); 

//Create an array 
$json_response = array(); 

while ($row = mysql_fetch_array($result)) { 
    $json_response[] = $row; 


} 
print json_encode($json_response); 

//Close the db connection 
fclose($db); 

>

RESPONSE?:

[{ 「0」: 「49」, 「計數(*)」: 「49」}]

這裏是我目前正在使用中的學嘗試JS t將值「49」反映回儀表板。

datasources["Test"].0]. 

的問題是這是回訪:NaN的在儀表板界面。

我很確定我需要改變這個當前的JS,以便它正確地解析只有預期的價值。 (不過,我已經試過我知道一切沒有運氣)

+0

解析'VAR jsObj = JSON的第一行。使用'jsObj [0] [「0」] // - >「49」或「jsObj [0] [」count(*)「]// - >「49」(取決於需要哪個「49」)。 – user2864740 2014-08-31 02:33:52

+0

希望代碼中的密碼不是生產服務器上的真實密碼。如果是這樣,您可能需要在生產代碼中對其進行更改。 – jmort253 2014-08-31 03:08:52

+0

如果有人正在閱讀本文,這肯定不是!真正的密碼爲我的VPS位於@ 161.12.211.23 ... T.T – shadowmoses 2014-08-31 06:03:24

回答

0

更改該查詢:

SELECT COUNT(*) AS total FROM emailAccount 

這樣一來,你會得到「總」在你的JSON指。 json.total

你在因爲$ json_response響應看到0] ...添加[]是創建一個數組,這是0鍵

+0

所以問題是,儀表板界面不認識任何東西,但第一個「0」,並希望使用此JS: datasources [「EmailCount 「] .0。 我怎樣才能改變上面的JS引用新的字典字符串? 我認爲這應該是: datasources [「EmailCount」]。EmailCount]。 – shadowmoses 2014-08-31 02:54:15

+1

你美麗!就是這樣,陣列造成了這個問題。 Thanks Mate〜 – shadowmoses 2014-08-31 02:58:48

0

我會做的第一件事是替換此:

$result = mysql_query("select count(*) from emailAccount", $db); 

與此:

$result = mysql_query("select count(*) as EmailCount from emailAccount", $db); 

這應該給你一個更好的使用JSON響應(字典鍵需要字符串)。然後,你應該能夠做這樣的事情:

var myCount = datasources.EmailCount; 
+0

非常感謝查詢中的「as」提示非常好用。 但是*保持呼吸*出於某種原因,儀表板只能查找「0」作爲字典鍵的引用。 Screenshot here:http://tinypic.com/r/29gjs6x/8 – shadowmoses 2014-08-31 02:43:01