ecstore后台运营分析图表不显示问题修复_智加设计
原因应该是安装的时候没有更新到数据库的某些字段。现在提供解决方案如下。
//执行如下sql语句: INSERT INTO `sdb_ectools_analysis` (`id`, `service`, `interval`, `modify`) VALUES (1, 'b2c_analysis_advance', 'day', 1374940800), (2, 'b2c_analysis_sale', 'day', 1374940800), (3, 'b2c_analysis_shopsale', 'day', 1374940800);
1 2 3 4 5 |
//执行如下sql语句: INSERT INTO `sdb_ectools_analysis` (`id`, `service`, `interval`, `modify`) VALUES (1, 'b2c_analysis_advance', 'day', 1374940800), (2, 'b2c_analysis_sale', 'day', 1374940800), (3, 'b2c_analysis_shopsale', 'day', 1374940800); |
如果以上还没有解决这个问题则需要修改下文件
修复的文件 ectools/lib/analysis/base.php
/*zm start 后台运营中心图表修复 */
$db = kernel::database();
if(is_array($target['flag']) && count($target['flag'])){
foreach($target['flag'] AS $k=>$v){
foreach($time_range AS $date){
// old zm $data[$v][$date] = 0;
$stime = strtotime($date);
$etime = $stime + 3600*24;
$num = 0;
switch($v){
case '已付款':
$sql = "SELECT COUNT(*) AS cs FROM sdb_b2c_orders WHERE createtime BETWEEN $stime AND $etime AND (pay_status='1' OR pay_status='2')";
$num = $db -> selectRow($sql);
$data[$v][$date] = $num['cs'];
break;
case '已发货':
$sql = "SELECT COUNT(*) AS cs FROM sdb_b2c_orders WHERE createtime BETWEEN $stime AND $etime AND ship_status='1'";
$num = $db -> selectRow($sql);
$data[$v][$date] = $num['cs'];
break;
default:
$sql = "SELECT COUNT(*) AS cs FROM sdb_b2c_orders WHERE createtime BETWEEN $stime AND $etime";
$num = $db -> selectRow($sql);
$data[$v][$date] = $num['cs'];
}
}
}
}else{
foreach($time_range AS $date){
$data['全部'][$date] = 0;
}
}
/*zm end 后台运营中心图表修复 */
如有任何疑问都可以直接联系QQ:2392521892来解答。