📄 ad_stat.aspx.cs
字号:
//======================================================
//== (c)2008 aspxcms inc by NeTCMS v1.0 ==
//== Forum:bbs.aspxcms.com ==
//== Website:www.aspxcms.com ==
//======================================================
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class manage_advertisement_ad_stat : NetCMS.Web.UI.ManagePage
{
public manage_advertisement_ad_stat()
{
Authority_Code = "S006";
}
public string str_adsID = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
str_adsID = NetCMS.Common.Input.checkID(Request.QueryString["adsID"]);
string type=Request.QueryString["st"];
switch (type)
{
case "hour":
DivStat.InnerHtml = get24HourStat("1") + get24HourStat("0");
break;
case "day":
DivStat.InnerHtml = getDayStat("1") + getDayStat("0");
break;
case "week":
DivStat.InnerHtml = getWeekStat("1") + getWeekStat("0");
break;
case "month":
DivStat.InnerHtml = getMonthStat("1") + getMonthStat("0");
break;
case "year":
DivStat.InnerHtml = getYearStat();
break;
case "source":
DivStat.InnerHtml = getSourceStat();
break;
default:
DivStat.InnerHtml = get24HourStat("1") + get24HourStat("0");
break;
}
getCororight();
}
/// <summary>
/// 获取最近24小时统计
/// </summary>
/// <param name="type">当type值为1时,返回最近24小时统计,否则返回所有的24小时统计</param>
/// <returns>返回最近24小时统计</returns>
/// Code By DengXi
protected string get24HourStat(string type)
{
int int_MaxVCount = 0;
string str_VCount = "";
int int_Chour = int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("HH"));
string str_temp = "";
for (int i = 0; i <= 23; i++)
{
str_VCount = str_VCount + "0" + ",";
}
str_VCount = NetCMS.Common.Input.CutComma(str_VCount);
string [] arr_VCount = str_VCount.Split(',');
NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
DataTable dt = ac.get24HourStat(type, str_adsID);
if (dt != null)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
string str_Vtime = dt.Rows[j]["creatTime"].ToString();
string str_Vhour = Convert.ToDateTime(str_Vtime).ToString("HH");
for (int k = 0; k <= 23; k++)
{
if (k == int.Parse(str_Vhour))
{
int int_tempstr = int.Parse(arr_VCount[k]) + 1;
arr_VCount[k] = int_tempstr.ToString();
}
}
}
for (int l = 0; l <= 23; l++)
{
if (int.Parse(arr_VCount[l].ToString()) >= int_MaxVCount)
{
int_MaxVCount = int.Parse(arr_VCount[l]);
}
}
}
string str_Vsize = "";
for (int m = 0; m <= 23; m++)
{
if (int_MaxVCount != 0)
str_Vsize = str_Vsize + (100 * int.Parse(arr_VCount[m]) / int_MaxVCount) + ",";
else
str_Vsize = str_Vsize + "0" + ",";
}
str_Vsize = NetCMS.Common.Input.CutComma(str_Vsize);
string [] arr_Vsize = str_Vsize.Split(',');
string strhour1 = "100%";
string strhour2 = "75%";
string strhour3 = "50%";
string strhour4 = "25%";
string strhourName = "访问量24小时分配图表";
if (type == "1")
{
strhour1 = int_MaxVCount + "次";
if (int_MaxVCount > 3)
{
strhour2 = Math.Round(int_MaxVCount * 0.75, 0) + "次";
}
else if (int_MaxVCount > 1)
strhour2 = (int_MaxVCount - 1) + "次";
else
strhour2 = " ";
if (int_MaxVCount > 3)
strhour3 = Math.Round(int_MaxVCount * 0.5, 0) + "次";
else if (int_MaxVCount > 2)
strhour3 = (int_MaxVCount - 2) + "次";
else
strhour3 = " ";
if (int_MaxVCount > 3)
strhour4 = Math.Round(int_MaxVCount * 0.25, 0) + "次";
else
strhour4 = " ";
strhourName = "最近24小时统计图表";
}
str_temp += "<table border=\"0\" align=\"center\" cellpadding=\"2\" width=\"98%\">";
str_temp += "<tr><td align=\"left\"><img src=\"../../sysImages/folder/stat.gif\" border=\"0\" />" + strhourName + "</td>";
str_temp += "</tr><tr><td align=\"center\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
str_temp += "<tr><td><table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour1 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour2 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour3 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour4 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >0次</td></tr>";
str_temp += " </table></td>";
str_temp += " <td valign=\"bottom\">";
if (type == "1")
{
str_temp += "<table align=\"center\" border=\"0\">";
str_temp += "<tr valign=\"bottom\" >";
for (int n = int_Chour + 1; n <= 23; n++)
{
str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[n] + "\" border=\"0\"><br />" + n + "</td>";
}
for (int o = 0; o <= int_Chour; o++)
{
str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[o] + "\" border=\"0\"><br />" + o + "</td>";
}
}
else
{
str_temp += "<table align=\"center\" border=\"0\">";
str_temp += "<tr valign=\"bottom\" >";
str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"100\" border=\"0\"><br /> 总</td>";
for (int p = 0; p <= 23; p++)
{
str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[p] + "\" border=\"0\"><br />" + p + "</td>";
}
}
str_temp += "<td>单位(点)</td></tr></table>";
str_temp += "</td></tr></table></td></tr></table>";
return str_temp;
}
/// <summary>
/// 获取日统计
/// </summary>
/// <param name="type">当type值为1时,返回当月日统计,否则返回所有的日统计</param>
/// <returns>返回日统计信息</returns>
/// Code By DengXi
protected string getDayStat(string type)
{
int int_MaxVCount = 0;
string str_VCount = "";
int int_Cday = int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("dd"));
string str_tempMD="";
if (int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("mm")) == 1)
{
str_tempMD = getDayNum(int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("yy"))-1,12);
}
else
{
str_tempMD = getDayNum(int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("yy")),int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("mm"))-1);
}
string str_temp = "";
for (int i = 1; i <= 32; i++)
{
str_VCount = str_VCount + "0" + ",";
}
str_VCount = NetCMS.Common.Input.CutComma(str_VCount);
string[] arr_VCount = str_VCount.Split(',');
NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
DataTable dt = ac.getDayStat(type, str_adsID, str_tempMD);
if (dt != null)
{
for (int j = 0; j < dt.Rows.Count; j++)
{
string str_Vtime = dt.Rows[j]["creatTime"].ToString();
int str_Vday = int.Parse(Convert.ToDateTime(str_Vtime).ToString("dd"));
for (int k = 0; k <= int.Parse(str_tempMD); k++)
{
if (k == str_Vday)
{
int int_tempstr = int.Parse(arr_VCount[k].ToString()) + 1;
arr_VCount[k] = int_tempstr.ToString();
}
}
for (int l = 0; l <= int.Parse(str_tempMD); l++)
{
if (int.Parse(arr_VCount[l].ToString()) >= int_MaxVCount)
{
int_MaxVCount = int.Parse(arr_VCount[l]);
}
}
}
}
string str_Vsize = "";
for (int m = 0; m < 31; m++)
{
if (int_MaxVCount != 0)
str_Vsize = str_Vsize + (100 * int.Parse(arr_VCount[m]) / int_MaxVCount) + ",";
else
str_Vsize = str_Vsize + "1" + ",";
}
str_Vsize = NetCMS.Common.Input.CutComma(str_Vsize);
string[] arr_Vsize = str_Vsize.Split(',');
string strhour1 = "100%";
string strhour2 = "75%";
string strhour3 = "50%";
string strhour4 = "25%";
string strhourName = "访问量月统计分配图表";
if (type == "1")
{
strhour1 = int_MaxVCount + "次";
if (int_MaxVCount > 3)
{
strhour2 = Math.Round(int_MaxVCount * 0.75, 0) + "次";
}
else if (int_MaxVCount > 1)
strhour2 = (int_MaxVCount - 1) + "次";
else
strhour2 = " ";
if (int_MaxVCount > 3)
strhour3 = Math.Round(int_MaxVCount * 0.5, 0) + "次";
else if (int_MaxVCount > 2)
strhour3 = (int_MaxVCount - 2) + "次";
else
strhour3 = " ";
if (int_MaxVCount > 3)
strhour4 = Math.Round(int_MaxVCount * 0.25, 0) + "次";
else
strhour4 = " ";
strhourName = "访问量31天分配图表";
}
str_temp += "<table border=\"0\" align=\"center\" cellpadding=\"2\" width=\"98%\">";
str_temp += "<tr><td align=\"left\"><img src=\"../../sysImages/folder/stat.gif\" border=\"0\" />" + strhourName + "</td>";
str_temp += "</tr><tr><td align=\"center\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
str_temp += "<tr><td><table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour1 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour2 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour3 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour4 + "</td></tr>";
str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >0次</td></tr>";
str_temp += " </table></td>";
str_temp += " <td valign=\"bottom\">";
if (type == "1")
{
str_temp += "<table align=\"center\" border=\"0\">";
str_temp += "<tr valign=\"bottom\" >";
for (int n = int_Cday + 1; n < int.Parse(str_tempMD) + 1; n++)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -