ECharts实现mysql 数据图表化
采用 AJAX,通过 PHP,从 MySQL 取出数据,然后将数据使用 ECharts 展示。如果想要动态刷新图标,那么设置一个定时器,定时取数,就可以达到目的。!(https://blog.bbskali.cn/usr/uploads/2020/05/4259180937.jpg)
### 数据库
数据库名:`kali`
表名:`ecahrts`
字段有:`id` `city` `sun` `av` `qs` 详细结构如下:
![数据库结构](https://blog.bbskali.cn/usr/uploads/2020/05/3841956746.png)
### 配置 PHP 文件
```
$mysqli=new mysqli('127.0.0.1','root','123456','kali');
mysqli_query($mysqli,"set names 'utf8'");
$sql="SELECT * FROM ecahrts";
$result = $mysqli->query($sql,MYSQLI_USE_RESULT);
if($result){
$i=0;
$categories=array();
$datas=array();
while($row = $result->fetch_assoc())
{
$categories[$i]=$row['city'];
$datas[$i]=$row['sun'];
$datas1[$i]=$row['av'];
$datas2[$i]=$row['qs'];
$i=$i+1;
}
$arr=array('categories'=>$categories,'data'=>$datas,'data1'=>$datas1,'data2'=>$datas2);
echo json_encode($arr);
}
$mysqli->close();
```
**主要参数说明:**
读取数据库中的数据,并且复制给数组 `$arr`
**验证**
将上面 PHP 保存为 `api.php`,访问 `127.0.0.1/api.php`
![](https://blog.bbskali.cn/usr/uploads/2020/05/881753637.png)
这里需要注意的是,在数据库中我的字段 `city` 是中文。`Ajax` 读取数据后是乱码,于是我采用 `mysqli_query($mysqli,"set names 'utf8'");` 将其通过 PHP 编码即可。
### 绘制图表
**引用各种 js**
```
!!!
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/world.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
```
###核心代码解读
```
function addData(){
$.get('aip.php').done(function(data,status) 从api.php中获取数据
var data=eval('('+data+')'); //转换为json
```
### 完整 HTML 代码
### 使用
将 `index.html` 和 `api.php` 放到你的根目录,修改数据库信息和字段信息。访问你的主机 ip 即可。
页:
[1]