⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad_stat.aspx.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 3 页
字号:
                    int_MaxVCount = int.Parse(arr_VCount[l]);
                }
            }
        }
        string str_Vsize = "";

        for (int m = 0; m <= 7; 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 = "访问量周分配图表";

        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 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour3 = Math.Round(int_MaxVCount * 0.5, 0) + "次";
            else if (int_MaxVCount > 2)
                strhour3 = (int_MaxVCount - 2) + "次";
            else
                strhour3 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour4 = Math.Round(int_MaxVCount * 0.25, 0) + "次";
            else
                strhour4 = "&nbsp;";

            strhourName = "当周统计图表";
        }
        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_Cweek + 1; n <= 7; 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 = 1; o <= int_Cweek; 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 = 1; p <= 7; 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="y">年</param>
    /// <param name="m">月</param>
    /// <param name="d">日</param>
    /// <returns>返回周几</returns>
    /// Code By DengXi

    int CaculateWeekDay(int y, int m, int d)
    {
        if (m == 1) m = 13;
        if (m == 2) m = 14;
        int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
        int weekstr = 1;
        switch (week)
        {
            case 1: weekstr = 1; break;
            case 2: weekstr = 2; break;
            case 3: weekstr = 3; break;
            case 4: weekstr = 4; break;
            case 5: weekstr = 5; break;
            case 6: weekstr = 6; break;
            case 7: weekstr = 7; break;
        }
        return weekstr;
    }


    /// <summary>
    /// 来源统计
    /// </summary>
    /// <returns>返回来源统计</returns>
    /// Code By DengXi

    protected string getSourceStat()
    {
        updb();
        NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
        DataTable dt = ac.getSourceStat(str_adsID);

        string str_Tempstr = "";
        string curPage = Request.QueryString["page"];    //当前页码
        int pageSize = 20, page = 0;                     //每页显示数

        if (curPage == "" || curPage == null || curPage == string.Empty) { page = 1; }
        else
        {
            try { page = int.Parse(curPage); }
            catch (Exception e)
            {
                PageError("参数错误!<li>" + e + "</li>", "");
            }
        }
        str_Tempstr += "<table width=\"98%\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" bgcolor=\"#FFFFFF\" class=\"table\">";
        str_Tempstr += "<tr class=\"TR_BG\">";
        str_Tempstr += "<td align=\"left\" valign=\"middle\" class=\"sys_topBg\">地区</td>";
        str_Tempstr += "<td align=\"left\" valign=\"middle\" class=\"sys_topBg\">点击次数</td>";
        str_Tempstr += "</tr>";
        int Cnt = 0;
        int pageCount = 0;
        if (dt != null)
        {
            int i, j;
            Cnt = dt.Rows.Count;

            //获得当前分页数-----------------------------------------------------
            pageCount = Cnt / pageSize;
            if (Cnt % pageSize != 0) { pageCount++; }

            if (page > pageCount) { page = pageCount; }
            if (page < 1) { page = 1; }

            for (i = (page - 1) * pageSize, j = 1; i < Cnt && j <= pageSize; i++, j++)
            {
                str_Tempstr += "<tr class=\"TR_BG_list\">";
                str_Tempstr += "<td align=\"left\" valign=\"middle\" height=\"20\">" + dt.Rows[i]["Address"].ToString() + "</td>";
                str_Tempstr += "<td align=\"left\" valign=\"middle\" height=\"20\">" + dt.Rows[i]["Ipnum"].ToString() + "</td>";
                str_Tempstr += "</tr>";
            }
        }
        string url = "ad_stat.aspx?st=source&adsID=" + str_adsID + "&page=";
        str_Tempstr += "<tr class=\"TR_BG_list\" align=\"right\"><td colspan=\"2\">" + ShowPage(page, pageSize, Cnt, url, pageCount) + "</td></tr>";
        str_Tempstr += "</table>";

        return str_Tempstr;
    }

    /// <summary>
    /// 取得分页
    /// </summary>
    /// <param name="page">当前页</param>
    /// <param name="pageSize">一页显示多少条</param>
    /// <param name="Cnt">总记录数</param>
    /// <param name="url">链接地址</param>
    /// <param name="pageCount">分页总数</param>
    /// <returns>返回分页</returns>
    /// Code By DengXi

    protected string ShowPage(int page, int pageSize, int Cnt, string url, int pageCount)
    {
        string urlstr = "共" + Cnt.ToString() + "条记录,共" + pageCount.ToString() + "页,当前第" + page.ToString() + "页   ";
        urlstr = urlstr + "<a href=\"" + url + "1)\" title=\"首页\" class=\"list_link\">首页</a> ";
        if ((page - 1) < 1)
            urlstr = urlstr + " <a href=\"" + url + "1)\" title=\"上一页\" class=\"list_link\">上一页</a> ";
        else
            urlstr = urlstr + " <a href=\"" + url + (page - 1) + "\" title=\"上一页\" class=\"list_link\">上一页</a> ";
        if ((page + 1) < pageCount)
            urlstr = urlstr + " <a href=\"" + url + (page + 1) + "\" title=\"下一页\" class=\"list_link\">下一页</a> ";
        else
            urlstr = urlstr + " <a href=\"" + url + pageCount + "\" title=\"下一页\" class=\"list_link\">下一页</a> ";
        urlstr = urlstr + " <a href=\"" + url + pageCount + "\" title=\"尾页\" class=\"list_link\">尾页</a> ";
        return urlstr;
    }

    /// <summary>
    /// 获取IP地址对应的实际地址
    /// </summary>
    /// <param name="ip">IP地址</param>
    /// <returns>返回IP地址对应的实际地址</returns>
    /// Code By DengXi

    protected string Get_Address(string ip)
    { 
        int num=0;
        string [] arr_ip = ip.Split('.');
        string str_address = "";
        int int_temp1 = int.Parse(arr_ip[0].ToString()) * 256 * 256 * 256;
        int int_temp2 = int.Parse(arr_ip[1].ToString()) * 256 * 256;
        int int_temp3 = int.Parse(arr_ip[2].ToString()) * 256;
        int int_temp4 = int.Parse(arr_ip[3].ToString()) - 1;


        num = int_temp1 + int_temp2 + int_temp3 + int_temp4;
        string sql = "select Country from Address where StarIP <=" + num + " and EndIP >=" + num + "";
        DataTable dt = CipDb(sql);
        if (dt != null)
        {
            if (dt.Rows.Count > 0)
                str_address = dt.Rows[0][0].ToString();
            dt.Clear();
            dt.Dispose();
        }
        return str_address;
    }

    /// <summary>
    /// 联接IP地址数据库并且执行SQL语句
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <returns>返回数据表</returns>
    /// Code By DengXi

    protected DataTable CipDb(string sql)
    {
        OleDbConnection conn = new OleDbConnection();
        string str_dirMana = NetCMS.Config.UIConfig.dirDumm;//获取用户虚拟路径
        if (str_dirMana != "" && str_dirMana != null && str_dirMana != string.Empty)
        {
            str_dirMana = "//" + str_dirMana;
        }
        conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;data source=" + Server.MapPath(str_dirMana + "/database/AddressIp.mdb") + "";
        try
        {
            conn.Open();
        }
        catch (OleDbException e)
        {
            PageError("打开IP地址数据库失败!失败原因:" + e.ToString(), "");
        }
        OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
        DataTable dt =null;
        DataSet ds = new DataSet();
        da.Fill(ds, "table");
        try
        {
            dt = ds.Tables["table"];
        }
        catch (Exception ee)
        {
            PageError("未知错误!错误原因:" + ee.ToString(), "");
        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }
        return dt;
    }


    /// <summary>
    /// 写地区进数据库
    /// </summary>
    /// <returns>写地区进数据库</returns>
    /// Code By DengXi

    protected void updb()
    {
        NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
        DataTable dt = ac.getDbNull() ;
        if (dt != null)
        {
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string stradress = Get_Address(dt.Rows[i]["IP"].ToString());
                    ac.upStat(stradress, dt.Rows[i]["ID"].ToString());
                }
            }
            dt.Clear();
            dt.Dispose();
        }    
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -