<tr>
<td height="75"></td>
</tr>
<tr valign="bottom">
<td height="45" colspan=3><div align="center">
<input name="Submit2" type="submit" class="wenbenkuang" value="添 加">
<input name="Submit3" type="reset" class="wenbenkuang" value="重 置">
<input name="Submit32" type="button" class="wenbenkuang" value="取 消" onClick="javascript:window.close()">
</div></td></tr><br><br>
<td height="29"></div>
</table></td></tr><tr>
<td valign=middle bordercolor=#FFFFFF bgcolor=#FFFFFF>
<div align=center><br>
<br>
</div></td></tr><
/table>
</form>
</body>
</html>
本系统将广告信息栏分为6行,即广告信息栏可以容纳6个广告条。(广告效果图在前台首页中可见)在后台文护页面进行广告信息管理时,最需要注意的问题就是广告条的位置。为了避免因疏忽面而造成位置的重叠,采用两个数据表对其进行文护,一个用于标识广告位置是否被占用,另一个用于记录广告信息。在程序运行时,只有没被占用的广告位置才可以被用户选择。
运行界面如图3-3所示:
图 3-3 广告管理运行界面
关键代码如下:
<%
set linkcon=server.CreateObject("adodb.connection")
linkcon.connectionstring="PROVIDER=SQLOLEDB;DATA
SOURCE=(local);UID=sa;DATABASE=mrshop"
linkcon.open
set linkrs=server.CreateObject("adodb.recordset")
linksql="select * from 广告位置 where 是否使用=0"
linkrs.open linksql,linkcon
while not linkrs.eof
%>
<option value="<%=linkrs("位置")%>"><%=linkrs("位置")%></option>
<%
linkrs.movenext()
wend
set linkrs=nothing
linkcon.close
set linkcon=nothing
%> </select>
上面代码解决了广告位置重叠的问题,由于只允许存放6条广告信息当用户输入的广告数目达到6条时,就不应该允许用户再输入广告信息了。本设计使用了下面方法判断广告位置是否被全部占用。关键代码如下:
set linkcon=server.CreateObject("adodb.connection")
linkcon.connectionstring="PROVIDER=SQLOLEDB;DATA
SOURCE=(local);UID=sa;DATABASE=mrshop"
linkcon.open
set linkrs=server.CreateObject("adodb.recordset")
linksql="select * from 广告位置 where 是否使用=0"
linkrs.open linksql,linkcon
if linkrs.eof or linkrs.bof then
abled="disabled"
end if
在表单【提交】按钮的代码中加关键字”disabled”可以设置按钮不可用,本设计通过变量”abled”动态设置按钮是否可用,关键代码如下:
<input name="Submit" type="submit" class="go-wenbenkuang"
onClick="MM_validateForm('name','','R');return document.MM_returnValue"
value="提交" <%=abled%>>
解决了所有先决问题,现在可以添加广告信息了。不当管理员添加广告信息并单击
【提交】按钮后,将进入到广告信息处理页面,在该页中首先要判断该广告信息是否存在,如果不存在将该信息保存到数据库,并更新记录广告条位置信息的数据表,否则给予提示信息。广告信息处理页(guanggao_add.asp)的关键代码如下:
<!-- #include file="conn.asp" -->
<% set co=server.CreateObject("ADODB.Connection")
sql="Driver={SQL Server};server=(local);uid=sa;database=mrshop"
co.open(sql)
set rsn=server.CreateObject("ADODB.RecordSet")
rsn.Cursortype=adOpenStatic
str=request.Form("name")
sql="select * from 广告 where 名称='"&str&"'"
rsn.open sql,co
if not rsn.bof and not rsn.eof then
%>
<script language="javascript">
alert("该广告已经存在,请输入其他类别的商品信息");
history.back();
</script>
<% else
mingcheng=request.form("name")
weizhi=request.Form("select")
if request.Form("tupian")="" then
tupian="no.gif"
else
tupian=request.Form("tupian")
end if
if request.Form("alt")="" then
xinxi="无"
else
xinxi=request.Form("alt")
end if
if request.Form("meg")="" then
meg="无"
else
meg=request.Form("meg")
end if
if request.Form("link")="" then
lianjie="#"
else
lianjie=request.Form("link")
end if
%>
<%
sql="insert into 广告
values('"&mingcheng&"','"&weizhi&"','"&tupian&"','"&lianjie&"','"&xinxi&"'
,'"&meg&"')"
rs.open sql,conn
sql="update 广告位置 set 是否使用=1 where 位置='"&weizhi&"'"
rs.open sql,conn
set rs=nothing
conn.close
set conn=nothing
response.Redirect("../manager.asp?action="&session("mingcheng"))
end if
%>
一个完善的管理页面,还要为管理员提供修改和删除广告信息的功能。本系统广告信息的修改和删除是通过每条记录后面跟随的相应按钮实现的,即一组按钮对应一条记录,而按钮与记录之间的对应关系是通过传递字符串完成的,这种方法的关键代码如下:
<%
set rst=server.CreateObject("adodb.recordset")
rst.pagesize=15
pages=request.QueryString("page")
if pages="" then pages=1 end if
sql="select * from 广告"
rst.open sql,conn,1,3
row=0
if not rst.eof and not rst.bof then
rst.absolutepage=cint(pages)
i=1
while not rst.eof and row<rst.pagesize
form_name1="forms"&i
i=i+1%>
<form name=<%=form_name1%> action="datacon/guanggao_chuli.asp" method=post>
<tr><td><%=rst("名称")%></td><td><%=rst("位置")%></td>
<td><div align="center"><img src="image/bianji.gif" width="50" height="19"
onclick="javascript:window.open('datacon/guanggao_change.asp?str=<%=rst("
名称")%>','',',toolbar=no,location=no,status=no,menubar=no')"></div></td>
<td><div align="center"><input name="shut" type="hidden"
value="<%=rst("名称")%>"><img src="image/shut.gif" width="50" height="19"
onclick="javascript:<%=form_name1%>.submit()"></div></td></tr> </form>
<%row=row+1
rst.movenext()
wend
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>