百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(1)饼图表格互动篇

在这里插入图片描述

**要求:**按照训练项目、人员所在单位、成绩评定以及训练录入时间作为筛选互动条件;

解决方案:
第一步,mysql语句,输入全部的“优秀”、“良好”、“及格”和“不及格”的json数据;

		$projectSelect = $_POST['projectSelect'];
		$selectDepart = $_POST['selectDepart'];
		$grade = $_POST['grade'];
		$start_date = $_POST['start_date'];
		$end_date = $_POST['end_date'];
		//查询语句;
		$sql = "select category_id,category_name,achieve_grade,member_depart,achieve_time,COUNT(achieve_accurate) as achieve_accurate from " . $db->table('achieve') . " where 1";
		//训练项目查询;
		IF ($projectSelect != "") {
			$sql .= " AND category_id in ($projectSelect)";
		}
		//所在单位查询;
		IF ($selectDepart != "") {
			$sql .= " AND instr (\" . $selectDepart . \",member_depart) > 0";
		}
		//选择成绩评定查询;
		IF ($grade != "") {
			$sql .= " AND instr (\" . $grade . \",achieve_grade) > 0";
		}
		//起始时间;
		IF ($start_date != "") {
			$sql .= "  AND date_format(from_unixtime(achieve_time),'%Y-%m-%d') >= '$start_date'";
		}
		//结束时间;
		IF ($end_date != "") {
			$sql .= "  AND date_format(from_unixtime(achieve_time),'%Y-%m-%d') <= '$end_date'";
		}
		$sql .= ' group by achieve_grade';

一定是:group by achieve_grade。

在百度Echarts中,直接使用:

	gradeName.push(result.data[i].achieve_grade);

即可自动过来重复数据,形成新的数据,作为legend: {}的data使用。

第二步,互动表格展示;
在读取数据列表$.ajax的返回success:{}中,嵌套同样筛选条件的表格api即可。

发布了81 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41290949/article/details/103033180