2016-01-28 32 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之前的结果”是我在上面的完整代码中提到的位置吗? –