ThinkPHP5.1+echarts实现折线图表

问题解决
  1. tp5.1视图赋值后怎么在js中调用
解决思路:
js部分,创建一个函数,给他赋值,tp框架的引擎是需要使用{}调用,但是直接调用的话
会发现不能使用在js里面,所以需要给它的外边套上一个双引号
var arr="{$atime}";
  1. tp5.1的控制器部分该如何操作
我的办法比较笨,因为第一次做图表
> $atime=json_encode($atime,true);//第一步,将查出来的数据转换为json格式
> $atime=str_replace('"', '', $atime);//第二步,如果含有双引号,去掉双引号,如果不去除,子啊js调用时会出现转义的特殊字符
> $atime=str_replace('[', '', $atime);
$atime=str_replace(']', '', $atime);//第三步,去掉左右的方括号
//第四步,直接输出就可以了
  1. js将字符串转换为数组
 atime=atime.split(",");
代码部分

效果图
ThinkPHP5.1+echarts实现折线图表_第1张图片
控制器代码:

$time=strtotime(date('Y-m-d'));
$time=$time-24*3600*6;
$avg=array();
$atime=array();
for($i=0;$i<7;$i++){
      $t=date('Y-m-d',$time);
      $atime[]=$t;
      $avg[]=Db::name('avg')->whereBetweenTime('time', $t)->count();
      $time=$time+24*3600;
}
$atime=json_encode($atime,true);
$atime=str_replace('"', '', $atime);
$atime=str_replace('[', '', $atime);
$atime=str_replace(']', '', $atime);
$avg=json_encode($avg,true);
$avg=str_replace('[', '', $avg);
$avg=str_replace(']', '', $avg);
$this->assign('avg',$avg);
$this->assign('atime',$atime);

html部分

近一周访问人数

js部分

 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(PHP杂项)