2016-01-28 31 views
0

我是PHP和Highchart的新手。目前,我試圖:HighChart for PHP 5.1 lower

1.使用PHP從MySQL查詢我的數據。

2.要顯示HighChart :: Javascript,請使用PHP中的json_encode獲取數據。

問題現在,我的PHP是5.1.6(我有幾個應用程序運行,因爲幾年前,嘗試不升級php)。我不能使用json_numeric_check

幫助需要:

問題1:有沒有替代辦法讓不json_numeric_check價值?

問題2:是否有任何包可以添加到php 5.1.6中使用json_numeric_check

這是我想用::代碼

print json_encode($result,json_numeric_check); 

json_encode 例如之前我的全部代碼

<?php 
header("Content-Type:application/json"); 
include_once "shift.php"; 
list($s1,$e1,$shift) = shift_frame(); 
$servername = 'localhost'; 
$username = ""; 
$password = ""; 

$select = "SELECT EH_CELLNUM, COUNT(EH_SERIALID)"; 
$table = " FROM T_EEDATA"; 
$rule1 = " WHERE (EH_END_DT between ".$s1." and ".$e1.") group by EH_CELLNUM"; 
$conn = mysql_connect($servername,$username,$password) or die("Connection failed: " . mysqli_connect_error()); 

mysql_select_db("eedata",$conn) or die(mysql_error()); 

$sql = $select.$table.$rule1; 
$query = mysql_query($sql, $conn); 

$category = array(); 
$category['name'] = 'Cellnum'; 
$series1 = array(); 
$series1['name'] = 'SerialID'; 

while($row = mysql_fetch_array($query)){ 
$category['data'][] = $row['EH_CELLNUM']; 
$series1['data'][] = $row['COUNT(EH_SERIALID)']; 
} 

////////////code add here???///////////////////////////// 

$result = array(); 
array_push($result,$category); 
$result2 = array(); 
array_push($result,$series1); 
print json_encode($result,json_numeric_check); 

mysql_close($conn); 

?> 
+0

我不是一個PHP專家,但在JS可以解析值。就像這個'json [0] = $ .map(json [0],function(item){return parseInt(item,10);});'(當然,這些代碼可能無法馬上工作,這取決於你的目前的數據格式 - 如果你能顯示生成的數據樣本,那麼我可以調整上面的代碼片段)。 –

回答

0

你可以做些事情到$結果:

$result = array("1", "2", "3", "4"); 
 
$result = array_str_to_int($result); 
 

 
// only for simple array,you can optimize the code 
 
function array_str_to_int($array){ 
 
    $tmp_arr = array(); 
 
    foreach($array as $k => $v){ 
 
    $tmp_arr[] = intval($v); 
 
    } 
 
    return $tmp_arr; 
 
}

+0

感謝您的回答。但問題是在Json_encode()之後,所有的int都會加雙引號。 highchart無法識別int並導致語法錯誤。 –

+0

$ result = array_str_to_int($ result);結果是什麼?「[1,2,3,4]」? – suibber

+0

嗨suibber,讓我澄清;我剛剛編輯並在我的問題上面發佈了我的完整代碼。你建議「做一些事情,$ json_encode之前的結果」是我在上面的完整代碼中提到的位置嗎? –