";
$sql = "SELECT keyword, count, searchengine ".
" FROM " .$ecs->table('keywords').
" WHERE date >= '$start_date' AND date <= '" .$end_date. "'";
if (isset($_POST['filter']))
{
$sql .= ' AND '. db_create_in($_POST['filter'], 'searchengine');
}
$res = $db->query($sql);
$search = array();
$searchengine = array();
$keyword = array();
while ($val = $db->fetchRow($res))
{
$keyword[$val['keyword']] = 1;
$searchengine[$val['searchengine']][$val['keyword']] = $val['count'];
}
$general_xml .= "";
foreach($keyword AS $key => $val)
{
$key = str_replace('&','&',$key);
$key = str_replace('>','>',$key);
$key = str_replace('<','<',$key);
$key =htmlspecialchars($key);
$general_xml .= "";
}
$general_xml .= "\n";
$i = 0;
foreach($searchengine AS $key => $val)
{
$general_xml .= "";
foreach($keyword AS $k => $v)
{
$count = 0;
if(!empty($searchengine[$key][$k]))
{
$count = $searchengine[$key][$k];
}
$general_xml .= "";
}
$general_xml .= "";
$i++;
}
$general_xml .= '';
/* 模板赋值 */
$smarty->assign('ur_here', $_LANG['searchengine_stats']);
$smarty->assign('general_data', $general_xml);
$searchengines = array('ecshop' => false,
'MSLIVE' => false,
'BAIDU' => false,
'GOOGLE' => false,
'GOOGLE CHINA' => false,
'CT114' => false,
'SOSO' => false);
if (isset($_POST['filter']))
{
foreach ($_POST['filter'] AS $v)
{
$searchengines[$v] = true;
}
}
$smarty->assign('searchengines', $searchengines);
/* 显示日期 */
$smarty->assign('start_date', $start_date);
$smarty->assign('end_date', $end_date);
$filename = local_date('Ymd', $start_date) . '_' . local_date('Ymd', $end_date);
$smarty->assign('action_link', array('text' => $_LANG['down_search_stats'], 'href' => 'searchengine_stats.php?act=download&start_date=' . $start_date . '&end_date=' . $end_date . '&filename=' . $filename));
$smarty->assign('lang', $_LANG);
/* 显示页面 */
assign_query_info();
$smarty->display('searchengine_stats.htm');
}
elseif ($_REQUEST['act'] == 'download')
{
$start_date = empty($_REQUEST['start_date']) ? strtotime('-20 day') : intval($_REQUEST['start_date']);
$end_date = empty($_REQUEST['end_date']) ? time() : intval($_REQUEST['end_date']);
$filename = $start_date . '_' . $end_date;
$sql = "SELECT keyword, count,searchengine ".
" FROM " .$ecs->table('keywords').
" WHERE date >= '$start_date' AND date <= '$end_date'";
$res = $db->query($sql);
$searchengine = array();
$keyword = array();
while ($val = $db->fetchRow($res))
{
$keyword[$val['keyword']] = 1;
$searchengine[$val['searchengine']][$val['keyword']] = $val['count'];
}
header("Content-type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=$filename.xls");
$data = "\t";
foreach ($searchengine AS $k => $v)
{
$data .= "$k\t";
}
foreach ($keyword AS $kw => $val)
{
$data .= "\n$kw\t";
foreach ($searchengine AS $k => $v)
{
if (isset($searchengine[$k][$kw]))
{
$data .= $searchengine[$k][$kw] . "\t";
}
else
{
$data .= "0" . "\t";
}
}
}
echo ecs_iconv(EC_CHARSET, 'GB2312', $data) . "\t";
}
?>