实现PHP HTML MySQL JavaScript(Ajax)与Echarts交互制作图表并显示于网页上的功能
1 任务目的
该篇为实现PHP、HTML、MySQL、JavaScript(Ajax)、Echarts交互,利用PHP从MySQL中取出数据,利用Ajax响应,通过Echarts绘图,并在HTML上显示的功能而写作。
代码主体分为两部分,包括PHP部分及HTML部分,其中每个部分可根据自己的需要进行补充。
注明:“---------”用于分块,以便更加直观的显示代码成分,并非表示注释或有其他含义。
代码运行于WampServer搭建的系统上,需实时连接数据库。
2 主体代码
2.1 PHP部分
<?php
header("charset=UTF-8"); //设置字符编码,避免切换网站时出现乱码。
$con = mysqli_connect("localhost", "$YourUserName", "$YourPassword", "$YourDataBase"); //$YourUserName:用户名; $YourPassword:密码; $YourDataBase:选择的数据库.
mysqli_set_charset($con, "utf8mb4"); //设置数据库编码,避免提取数据时无法读取。
$sql = "SELECT * FROM TableName"; //TableName:选择的数据库中表的名称。
$result = mysqli_query($con, $sql); //读取表中数据。
$data = array(); //设置$data为数组,用于存储从表中读取的数据。
------------------------------------------------------------------------------------------------------------------------
class System{ //假设该表中有三个字段,该类的创建用于放置这三个字段的内容。
public $date; //放置日期;
public $a; //放置字段1;
public $b; //放置字段2;
}
while($row = mysqli_fetch_array($result)){ //循环,依次读取$result中每一行数据。
$alter = new System(); //创建System中的对象,具有放置三个字段的能力。
$alter -> date = $row['Date']; //读取日期值;
$alter -> a = $row['ar1']; //读取字段1值;
$alter -> b = $row['ar2']; //读取字段2值;
$data[] = $alter; //用数组$data存储结果;
}
-----------------------------------------------------------------------------------------------
$BD = json_encode($data); //响应HTML中的ajax部分;
echo $BD;
exit();
?>
2.2 HTML部分
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
3 结果及讨论
3.1 步骤及功能
(1)PHP的日期字段读取MySQL数据;
(2)MySQL数据联系Ajax传输至JavaScript中;
(3)Echarts绘图库的引入,绘制字段变量随时间(日期)变化的平滑折线图;
3.2 实现结果截图
注:使图像中出现多条线,可通过增加Series中“{}”数据序列完成,但要保证序列的长度与时间长度一致。