Showcat.asp
<html><head><title>Cat</title></head>
<body>
<form name=cat>
<table border="1" width="360" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolor="#008000">
<tr>
<td width="100%" colspan="5" align="center"><b>您的手推车信息</b></td>
</tr>
<tr>
<td width="45">名称</td>
<td width="45">单价</td>
<td width="45">折扣</td>
<td width="45">数量</td>
<td width="45">小计</td>
<td width="135"> </td>
</tr>
<% dim conn,rs,sqlstr,cook,catid,number,sum,allnum,i
i=0
set conn=server.createobject("ADODB.CONNECTION") '建立数据库ADO连接实例
conn.open "DSN","USERID","PWD" '打开数据库连接
set rs=Server.CreateObject("ADODB.Recordset") '建立数据库ADO记录集连接实例
for each cook in request.cookies '遍历 Cookies 集合
if instr(cook,"mycat") then '判断是否“手推车”信息
catid=split(request.cookies(cook),",")[0] '分离出商品ID
number=split(request.cookies(cook),",")[1] '分离出商品数量
sqlstr="select * from cat where id="&catid&"" 'SQL查询语句
rs.open conn,sql,1,3 '执行查询,产生记录集
xiaoji=rs("单价")*rs("折扣")*number '计算小计
response.write "<tr><td width=45 ><font size=2 color=#800080>"&rs("名称")&"</font></td>"
response.write "<td width=45 ><font size=2 color=#800080>"&rs("单价")&"</font></td>"
response.write "<td width=45 ><font size=2 color=#800080>"&rs("折扣")&"</font></td>"
response.write "<td width=45 ><input type=text name=number"&i&" value="&number&" size=4></td>"
response.write "<td width=45 ><font size=2 color=#800080>"&xiaoji&"</font></td>"
response.write "<td width=135><input type=button value=更新 onclick=Addcat("&rs("ID")&",document.cat.number"&i&".value)> <input type=button value=删除 onclick=Deletecat("&rs("ID")&")></td></tr>
allnum=allnum+number '累计商品总件数
sum=sum+xiaoji '累计总金额
rs.close
i=i+1
end if
next
set rs=nothing
set conn=nothing
%>
<tr>
<td width="45">合计</td>
<td width="45"> </td>
<td width="45"> </td>
<td width="45"><%=allnum%></td>
<td width="45"><%=sum%></td>
<td width="135"><%=sum%></td>
</tr>
<tr>
<td width="360" colspan="6"> <font size="2"><a href="checkout.asp"><font color="#FF0000">结帐</font></a>
<a href=javascript:window.close()><font color="#008000">继续购物</font></a></font> <a href=javascript:Clearcookie()><font size="2" color="#0000FF">清空“手推车”</font></a></td>
</tr>
</table>
</form>
</body>
</html>
javascript中操作COOKIE的函数源码如下:
function Setcookie (name, value) { //设置名称为name,值为value的Cookie
var argc = SetCookie.arguments.length;
var argv = SetCookie.arguments;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + value +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function Deletecookie (name) { //删除名称为name的Cookie
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function Clearcookie() //清除COOKIE
{
var temp=document.cookie.split(";");
var loop3;
var ts;
for (loop3=0;loop3<temp.length;loop3++)
{
ts=temp[loop3].split("=")[0];
if (ts.indexOf('mycat')!=-1)
DeleteCookie(ts); //如果ts含“mycat”则执行清除
}
}
function getCookieVal (offset) { //取得项名称为offset的cookie值
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) { //取得名称为name的cookie值
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}