问题记录表统计页完整代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>统计</title>
<link href="../js/jquery-ui.css" rel="stylesheet"><!--点击修改显示日历引用的css文件 -->
<link href="../js/red-datepicker.css" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css">
<!--点击修改显示日历引用的css文件 -->
<script type="text/javascript" src="../js/jquery.js"></script> <!--点击修改引用的js文件 -->
<script type="text/javascript" src="../js/jquery.jeditable.js"></script><!--点击修改引用的js文件 -->
<script type="text/javascript" src="../js/jquery-ui.js"></script><!--点击修改显示日历引用的js文件 -->
<script type="text/javascript" src="../js/dateinput-ch-ZN.js"></script><!--点击修改显示日历引用的js文件 -->
<script type="text/javascript">
$(function() {
$("#datepicker1").datepicker();
$("#datepicker2").datepicker();
$("#datepicker3").datepicker();
$("#datepicker4").datepicker();
});
</script>
</head><body>
<?php require_once('tongji.php');
$bufapeijian = '车 控制板 电动手柄 电刷 电源 手摇手柄 护栏 直板 弯板 单道孤形弯板 单道直板 支架 底座 圆筒 圆环卡座';//统计页面默认显示的的配件列表?>
<table width="1300" border="1" align="center" cellpadding="0" cellspacing="0">
<tr><td width="800" align="center" valign="top"><form action="" method="post">【<a href="index.php" target="_blank">返回主页】</a> 开始时间:<input name="kaishi" type="text" class="datepicker" id="datepicker3" value="<?php if($kaishi!=''){echo $kaishi;}else{echo date('Y-m-d',strtotime('-13 month'));}?>" size="7">,截止时间:<input name="jiezhi" type="text" class="datepicker" id="datepicker4" value="<?php if($jiezhi!=''){echo $jiezhi;}else{echo date('Y-m-d');}?>" size="7"><input name="提交" type="submit" value="查询" /><br><textarea name="bucha" cols="98" rows="3" id="bucha"><?php if($_POST['bucha']!=''){echo $_POST['bucha'];}else{echo $bufapeijian;}?></textarea></form>
<table width="99%" border="0" cellspacing="1" cellpadding="0">
<tr bgcolor="#999999" style="font-size: 13px">
<td width="40">日期</td>
<?php
$bucha1 = $_POST['bucha'];
//$$bucha2 = preg_replace(',',',',$bucha1);
$bucha = explode(" ", $bucha1);
//print_r($bucha);
if($_POST['bucha'] == ''){
$array1 = $bufapeijian;
$array = explode(" ", $array1); ;}else{
$array = $bucha;}
$total = count($array);
?>
<?php
for ($i=0; $i<$total; $i++){ //分产品显示
$chanpin = $array[$i];?>
<td><a href="chaxun.php?keyword=<?=$chanpin?>" target="_blank"><?=$chanpin?></a></td><?php }?>
<td>月合计</td>
</tr>
<script type="text/javascript"> //点击隐藏一行tr
function c(obj){
if (obj.style.display=='none'){
obj.style.display='block';
}else{
obj.style.display='none';
}
}
</script>
<?php
function replace_specialChar($strParam){ // 替换特殊字符
$regex = "/\个|\辆|\小|\一代|\二代|/"; // \.|
return preg_replace($regex,"",$strParam);}
if ($_POST['kaishi']=='' && $_POST['jiezhi']==''){
$kaishi = '2016-04-01';
$jiezhi = date('Y-m-d');}else{
$kaishi = $_POST['kaishi'];
$jiezhi = $_POST['jiezhi'];}
$kai = date('Y-m-01',strtotime($kaishi));
$jie = date('Y-m-31',strtotime($jiezhi));
$yuesum = ((int)substr("$jiezhi",0,4))*12 + ((int)substr("$jiezhi",5,2))-(((int)substr("$kaishi",0,4))*12 + ((int)substr("$kaishi",5,2)));//补发配件显示几个月
echo '<span style="font-size: 12px; color: #666;">请在上方输入查询起止日期或输入查询的关键字,多个关键字用空格间隔,然后点击查询按扭,当前查询日期</span><span style="font-size: 14px; color: red;">'.date('ym', strtotime($kaishi)).'-'.date('ym', strtotime($jiezhi)).'</span><br>';
for($s = 0; $s <= $yuesum; $s++){
//$date_shu = date('ym',mktime(0,0,0,date('m')-$s,1,date('Y')));//月份
$date_shu = date("ym", strtotime("-$s months", strtotime($jiezhi)));
$date_first = date('Y-m-01',strtotime("-$s months", strtotime($jiezhi)));
$date_last = date('Y-m-31',strtotime("-$s months", strtotime($jiezhi)));
//echo $date_first.','.$date_last.'<br>';
?>
<tr bgcolor="#CCCCCC" onclick="javascript:c(this)" >
<td><?=$date_shu?></td>
<?php
$yuehj=0;
for ($i=0; $i<$total; $i++){
$chanpin = $array[$i];
mysql_select_db($database_wtcl_comm);
$query = mysql_query("SELECT * FROM wtcl_nr where wtcl_k like '%$chanpin%' and wtcl_f between '$date_first' and '$date_last' ORDER BY wtcl_f DESC,wtcl_time DESC"); //月份和产品统计
$num = 0;
while($rows = mysql_fetch_array($query)){
$jieguo1 = replace_specialChar($rows['wtcl_k']);
$jieguo = str_replace(array("一","两","三","四","五","六","七","八","九","十"),array("1","2","3","4","5","6","7","8","9","10"),$jieguo1);//替换字符串中的多个字符
//echo $rows['wtcl_id'].':'.$jieguo.'【】';
$weizhi = strpos($jieguo,$chanpin)-2;//得到的字符位置向前移2个
//echo $weizhi.'<br>';
$str=substr($jieguo,$weizhi);//去除前面
$n=strpos($str,$chanpin);//寻找位置
if ($n) $shuzi1=substr($str,0,$n);//删除后面
//$b=preg_match('/\d+/',$shuzi1,$shuzi2);//提取数字
if(preg_match('/\d+/',$shuzi1,$shuzi2)){$shuzi=$shuzi2[0];}else{$shuzi=1;};//判断是否成功提取数字
//if(preg_match('/^\d+$/i', $shuzi1)){$shuzi=$shuzi1;}else{$shuzi=1;};//判断是否为数字
//echo $chanpin.$shuzi.'<br>';
$num = $num + $shuzi;//每个产品每月的总数
}
if ($num==0){$shu='';}else{$shu=$num;}
//echo $shu;
$yuehj = $yuehj + $num;//按月份合计
?>
<td><?=$shu?></td><?php }?>
<td><?=$yuehj?></td><?php } ?></tr>
<tr bgcolor="#CCCCCC"><td>合计</td>
<?php
$zongji = 0;//总计初始化
for ($i=0; $i<$total; $i++){
$chanpin = $array[$i];
mysql_select_db($database_wtcl_comm);
$query = mysql_query("SELECT * FROM wtcl_nr where wtcl_k like '%$chanpin%' and wtcl_f between '$kai' and '$jie' ORDER BY wtcl_f DESC,wtcl_time DESC"); //按产品合计
$pinhj=0;
while($rows = mysql_fetch_array($query)){
$jieguo1 = replace_specialChar($rows['wtcl_k']);
$jieguo = str_replace(array("一","两","三","四","五","六","七","八","九","十"),array("1","2","3","4","5","6","7","8","9","10"),$jieguo1);//替换字符串中的多个字符
//echo $rows['wtcl_id'].':'.$jieguo.'【】';
$weizhi = strpos($jieguo,$chanpin)-2;//得到的字符位置向前移2个
//echo $weizhi.'<br>';
$str=substr($jieguo,$weizhi);//去除前面
$n=strpos($str,$chanpin);//寻找位置
if ($n) $shuzi1=substr($str,0,$n);//删除后面
//$b=preg_match('/\d+/',$shuzi1,$shuzi2);//提取数字
if(preg_match('/\d+/',$shuzi1,$shuzi2)){$shuzi=$shuzi2[0];}else{$shuzi=1;};//判断是否成功提取数字
//if(preg_match('/^\d+$/i', $shuzi1)){$shuzi=$shuzi1;}else{$shuzi=1;};//判断是否为数字
//echo $chanpin.$shuzi.'<br>';
$pinhj = $pinhj + $shuzi;//每个产品每月的总数
$zongji = $zongji + $shuzi;//总计
}
?>
<td><?=$pinhj?></td><?php } ?>
<td><?=$zongji?></td>
</tr>
<!-- 按数量统计结束-->
</table>
</td>
<td align="center">
<div id="container" style="width: 550px;height:400px;"></div>
<script type="text/javascript">
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
option = {
textStyle: {
color: '#000',
},
tooltip: {
trigger: 'item',
formatter: "{b}<br/>{d}%"
},
legend: [{
orient: 'vertical',
left: 'right',
top: 'top',
data:[<?php for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo '"'.$kefu.$kefu_total.'",';}}?>'补发<?=$bufa?>','换货<?=$huanhuo?>','退货<?=$tuihuo?>','维修<?=$weixiu?>','快递<?=$kuaidi?>','发票<?=$fapiao?>','定制<?=$dingzhi?>','其他<?=$qita?>']
}],
series: [
{
name:'客服',
type:'pie',
selectedMode: 'single',
radius: [0, '50%'],
label: {
normal: {
position: 'inner'
}
},
labelLine: {
normal: {
show: false
}
},
data:[<?php for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo '{value:'.$kefu_total.', name:"'.$kefu.$kefu_total.'"},';}}?>]
},
{ color: ['#66CCFF', '#C7EDCC', '#FFCCCC'],
name:'处理状态',
type:'pie',
radius: ['55%', '80%'],
avoidLabelOverlap: true,
label: {
normal: {
show: false,
position: 'center'
},
},
labelLine: {
normal: {
show: true
}
},
data:[<?php
for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='已处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt3 = array_sum($zt_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='处理中'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt2 = array_sum($zt_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='待处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt1 = array_sum($zt_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo '{value:'.$kefu_zt3.', name:"'.$kefu.'<br>已处理'.$kefu_zt3.'"},';
echo '{value:'.$kefu_zt2.', name:"'.$kefu.'<br>处理中'.$kefu_zt2.'"},';
echo '{value:'.$kefu_zt1.', name:"'.$kefu.'<br>待处理'.$kefu_zt1.'"},';}
}?> ]
},
{ color: ['#66CCFF', '#C7EDCC', '#FFCCCC'],
name:'处理状态',
type:'pie',
radius: ['83%', '83%'],
funnelAlign: 'left',
max: 1048,
itemStyle : {
normal : {
label : {
position : 'inner'
},
labelLine : {
show : false
}
}
},
data:[<?php
for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='已处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt3 = array_sum($zt_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='处理中'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt2 = array_sum($zt_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='待处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt1 = array_sum($zt_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo '{value:'.$kefu_zt3.', name:"'.$kefu_zt3.'"},';
echo '{value:'.$kefu_zt2.', name:"'.$kefu_zt2.'"},';
echo '{value:'.$kefu_zt1.', name:"'.$kefu_zt1.'"},';}
}?> ]
},{
name:'处理状态',
type:'pie',
radius: ['90%', '95%'],
funnelAlign: 'left',
max: 1048,
itemStyle : {
normal : {
label : {
show: false,
position : 'inner'
},
labelLine : {
show : false
}
}
},
data:[
{value:<?=$bufa?>, name:'补发<?=$bufa?>'},
{value:<?=$huanhuo?>, name:'换货<?=$huanhuo?>'},
{value:<?=$tuihuo?>, name:'退货<?=$tuihuo?>'},
{value:<?=$weixiu?>, name:'维修<?=$weixiu?>'},
{value:<?=$kuaidi?>, name:'快递<?=$kuaidi?>'},
{value:<?=$fapiao?>, name:'发票<?=$fapiao?>'},
{value:<?=$dingzhi?>, name:'定制<?=$dingzhi?>'},
{value:<?=$qita?>, name:'其他<?=$qita?>'}]
}
]
};
myChart.setOption(option);
</script>
</td></tr>
<tr>
<td align="center">
<div id="jieguo" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('jieguo'));
option = {
backgroundColor: '#fff',
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data: ['待处理','处理中','已处理','合计']
},
grid: {
left: '5px',
right: '25px',
bottom: '10px',
containLabel: true
},
yAxis: [{
type: 'category',
data: [<?php for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo "'".$kefu."',";}}?>]
}],
xAxis: [{
type: 'value',
position: 'left'
}],
textStyle: {
color: '#000',
},
series: [
{
name: '已处理',
type: 'bar',
stack: '结果',
label: {
normal: {
show: true,
position: 'inside'
}
},
itemStyle: {
normal: {
color: '#66CCFF'
}
},
data: [<?php
for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='已处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt3 = array_sum($zt_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo "'".$kefu_zt3."',";}}?>]
},
{
name: '处理中',
type: 'bar',
stack: '结果',
label: {
normal: {
show: true,
position: 'inside'
}
},
itemStyle: {
normal: {
color: '#C7EDCC'
}
},
data: [<?php
for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='处理中'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt2 = array_sum($zt_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo "'".$kefu_zt2."',";}}?>]
},
{
name: '待处理',
type: 'line',
stack: '结',
label: {
normal: {
show: true,
position: [-12, -5],
}
},
itemStyle: {
normal: {
color: 'red'
}
},
data: [<?php
for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu' and wtcl_i='待处理'";
$zt_sql = mysql_query($sql);
$zt_sum = mysql_fetch_assoc($zt_sql);
$kefu_zt1 = array_sum($zt_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo "'-".$kefu_zt1."',";}}?>]
},
{
name: '合计',
type: 'line',
stack: '',
label: {
normal: {
show: true,
position: [5, -5],
}
},
itemStyle: {
normal: {
color: '#FFCCCC'
}
},
data: [<?php for ($i = 0; $i <= $total_kefu; $i++){
$kefu=$rows_kefu[$i]['yh_ming'];
$sql = "SELECT count(wtcl_j) FROM wtcl_nr WHERE wtcl_j='$kefu'";
$kefu_sql = mysql_query($sql);
$kefu_sum = mysql_fetch_assoc($kefu_sql);
$kefu_total = array_sum($kefu_sum);
if ($kefu_total > 0 & $kefu <> ''){
echo "'".$kefu_total."',";}}?>]
},
]
};
myChart.setOption(option);
</script></td>
<td align="center"><!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 500px;height:400px;"></div>
<p>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
option = {
title : {
text: '问题类型',
x:'center'
},
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'line' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '10px',
right: '35px',
bottom: '5px',
containLabel: true
},
xAxis : [
{
type : 'value'
}
],
yAxis : [
{
type : 'category',
axisTick : {show: false},
data : ['其他','定制','维修','发票','快递','退货','换货','补发']
}
],
series : [
{
name:'问题类型',
type:'bar',
stack: '问题类型',
label: {
normal: {
show: true,
position: 'right'
}
},
data:[<?=$qita?>, <?=$dingzhi?>, <?=$weixiu?>, <?=$fapiao?>, <?=$kuaidi?>, <?=$tuihuo?>, <?=$huanhuo?>,<?=$bufa?>]
},
]
};
myChart.setOption(option);
</script></td>
</tr>
</table>
</body>
</html>