2017-06-06 40 views
1
$sql = "SELECT * FROM `demo_viewer` WHERE 1 "; 

$viewer = mysqli_query($mysqli,$sql); 

$view = array(); 

while ($row = mysqli_fetch_array($viewer)){ 

    $view[] = $row; 
} 

$viewer = json_encode($view,JSON_NUMERIC_CHECK); 

这是为什么代码没有显示数据... DB连接好了,但如果像低于此的数据显示,代码..Highcart数据未从MySQL显示JSON数据

$sql = "SELECT SUM(numberofview) as count FROM demo_viewer 

     GROUP BY YEAR(created_at) ORDER BY created_at"; 

$viewer = mysqli_query($mysqli,$sql); 

$viewer = mysqli_fetch_all($viewer,MYSQLI_ASSOC); 

$viewer = json_encode(array_column($viewer, 'count'),JSON_NUMERIC_CHECK); 
+0

echo'$ sql'并尝试在mysql中直接运行并进行调试。 – Naga

+0

娜迦echo $ sql没问题数据显示在mysql –

+0

然后检查你的数据库连接和'$ mysqli'对象的作用域。 – Naga

回答

0

试试这个,

mysqli_query($mysqli,'SET NAMES utf8mb4'); 

$sql = "SELECT * FROM `demo_viewer` WHERE 1 "; 

$viewer = mysqli_query($mysqli,$sql); 

$view = array(); 

while ($row = mysqli_fetch_array($viewer,MYSQLI_ASSOC)){ 

    $view[] = $row; 
} 

$viewer = json_encode($view, JSON_PARTIAL_OUTPUT_ON_ERROR | JSON_FORCE_OBJECT | JSON_NUMERIC_CHECK); 

编辑

mysqli_query($mysqli,'SET NAMES utf8mb4'); 

$sql = "SELECT numberofclick FROM `demo_viewer` GROUP BY YEAR(created_at) ORDER BY created_at "; 

$viewer = mysqli_query($mysqli,$sql); 

$view = array(); 

while ($row = mysqli_fetch_array($viewer,MYSQLI_ASSOC)){ 

    $view[] = $row['numberofclick']; 
} 

$viewer = json_encode($view, JSON_PARTIAL_OUTPUT_ON_ERROR | JSON_FORCE_OBJECT | JSON_NUMERIC_CHECK); 

PS:你不应该使用select * from table。因为Highchart需要一个列值。不是所有的列。

+0

还没有数据显示... –

+0

添加'JSON_PARTIAL_OUTPUT_ON_ERROR | JSON_FORCE_OBJECT'在json_encode选项... – Naga

+0

还是相同的,数据图表显示并没有错误... –