目录
一、系统设计
01管理员功能分析图
管理员功能分析图如下图4-1所示:
02用户功能分析图
用户功能分析图如下图4-2所示:
二、系统实现
01用户浏览及搜索商品
所有用户及游客最先进入的是网站的首页,它包括推荐商品、商店排行等内容,也包括了商品的搜索功能。
首页界面如图6-1所示:
导航栏上面关于用户登录注册部分会根据用户登录与否显示不同的信息,其代码如下:
public string gettop()
{
string htmlstr;
if (Session["webusername"] == null)//跟踪用户名,判断是否登录
{ htmlstr = "<td width='200'><span>你好,欢迎来到零点商城!</span></td> <td width='70'><a href='user/register.aspx'>[免费注册]</a></td> <td width='45'><a href='user/login.aspx'>[登录]</a></td>"; }
else
{ htmlstr = "<td width='245'><span>欢迎您," + Session["webusername"] + "</span></td> <td width='70'align='center'><a href='login_out.aspx'>[退出]</a></td>"; }
return htmlstr;//返回htmlstr的值
}
如登录后界面如图6-2所示,未登录界面如图6-3所示。
显示最新商品代码如下:
public static string getnewgoods()
{
string sql = "select top 4 * from web_goods where goods_audit=1 order by goods_id desc";//查找出的结果按商品ID的降序排列,即最后添加的最先显示。
IDataReader drnew = common.GetDataReader(sql); //从数据库读出最新添加的商品
string ret = "";
int i = 1;
string goodsname = "";
while (drnew.Read())
{
if (drnew ["goods_name"].ToString().Length< 8) //判断商品名称长度,若小于8则直接将值赋给proname,若不是则赋给前八个字
{
goodsname = drnew ["goods_name"].ToString();
}
else
{
goodsname = drnew ["goods_name"].ToString().Substring(0, 8);
}
if (i != 3)
{
ret += "<td ><table height='150' border='0' cellpadding='0' cellspacing='0'><tr><td height='130'><a href='goods.aspx?id=" + drnew["goods_id"].ToString() + "' target='_blank'><img src='upload/" + drnew["goods_img"].ToString() + "' width='120' height='120' border='0'></a></td></tr><tr><td height='20'><a href='goods.aspx?id=" + drnew["goods_id"].ToString() + "' target='_blank'>" + goodsname + "</a></td> </tr> <tr> <td><span>¥" + WebCommon.common.strFormatmoney(drnew["goods_price"].ToString()) + "</span></td> </tr> </table></td>";
}
else
{
ret += "</tr><tr><td ><table height='150' border='0' cellpadding='0' cellspacing='0'><tr><td height='130'><a href='goods.aspx?id=" + drnew["goods_id"].ToString() + "' target='_blank'><img src='upload/" + drnew["goods_img"].ToString() + "' width='120' height='120' border='0'></a></td></tr><tr><td height='20'><a href='goods.aspx?id=" + drnew["goods_id"].ToString() + "' target='_blank'>" + goodsname + "</a></td> </tr> <tr> <td><span>¥" + WebCommon.common.strFormatmoney(drnew["goods_price"].ToString()) + "</span></td> </tr> </table></td>";
}
i++;
} //从数据库读出数据并显示于页面
drnew.Close();//关闭数据库
return ret;
}
其中:
public static string strFormatmoney(string str)
{
str = str.Replace(".0000", ".00");
return str;
} //格式化货币
public static IDataReader GetDataReader(string sql)
{
Database db = DatabaseFactory.CreateDatabase();
IDataReader dr = db.ExecuteReader(CommandType.Text, sql);
return dr;
}//返回DataReader