/** * 手机品牌、浏览器、系统排行数据 */ public function mobilerankdataAction() { $data = reqstr('data'); if (!$data) { return; } $page = reqnum('page', 1); $pagesize = 10; $data = urldecode($data); $info = array(); parse_str($data, $info); $date = (int) $info['date'] ? (int) $info['date'] : 7; //默认是查出7天的数据 $sdate = trim($info['sdate']) ? trim($info['sdate']) : ''; $edate = trim($info['edate']) ? trim($info['edate']) : ''; $station = (int) $info['station'] ? (int) $info['station'] : 0; // 0 表示查询出所有车站 $type = trim($info['type']) ? trim($info['type']) : 'mobile'; //默认是手机 if (!$sdate || !$edate) { $edate = date('Y-m-d'); $sdate = date('Y-m-d', strtotime("-{$date} day")); } $sdate = str_replace('-', '_', $sdate); $edate = str_replace('-', '_', $edate); $nt = new Psys_ResourceModel(); $data = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize); $data_graph = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize, 1); $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow'])); $stations = $nt->station(); $total = 0; foreach ($data['allrow'] as &$v) { if ($station) { $v['stationname'] = $this->getstationname($stations, $station); } else { $v['stationname'] = 'ALL'; } $total += $v['num']; } $phonebrand = array('mobile' => '手机品牌', 'browser' => '浏览器', 'sys' => '手机系统'); $datas[0]['type'] = 'pie'; $datas[0]['name'] = $phonebrand[$type] . '使用占比'; foreach ($data_graph['allrow'] as $v1) { $datas[0]['data'][] = array($v1['name'], (double) round($v1['num'] / $total * 100, 2)); } $result['y_cat'] = $datas; return array('table' => $data['allrow'], 'paging' => $paging, 'graph' => $result); }