站内文章搜索:
校园网站设计
发表文章 作者:佚名 更新时间:2008-6-22
end if
页面中的添加新的种类部分包含一个文本控件和一个选择控件。其中选择控件是用所有已经存在的类别列表进行填充的,包括特殊类别 Top level ,该类别表明当前类别是处于类别层次结构中的最顶层。代码如下:
先用一个记录集来填充父类别选择控件:
set RSCategories = conn.Execute("select CategoryName from LibCategories order by CategoryName")
再用下列循环语句:
<%
Do Until RSCategories.EOF
%>
<OPTION VALUE="<% response.write RSCategories("CategoryName") %>"><% response.write RSCategories("CategoryName") %></OPTION>
<%
RSCategories.MoveNext
Loop
%>
遍历RSCategories记录集中的每个记录,并作为一个选项添加到列表中,而记录集中CategoryName 同时作为显示值和传递值:
本页面还包含一个指向添加图书页面的链接。
搜索结果页面
搜索页面的代码获取与访问者查找规则相匹配的图书,然后将这些图书显示给访问者。
搜索页面上的表单包含一个选择控件和一个文本控件。选择控件中的选项是用可搜索 的字段填充的:
需要用一个记录集来保存与访问者的查找规则相匹配的记录:
set RSBooks = conn.Execute("select BookID, Author, Title, Subject from LibBooks where " _
& Request.Form("SearchField") & " Like '%" & Request.Form("SearchCriteria") & "%'")
注意:,符号%表示的是一个广义搜索。这一点类似于ACCESS中的符号*。
然后将所找到的书以表格形式显示出来。代码如下:
<% Do Until RSBooks.EOF %>
<TR VALIGN="top" ALIGN="left">
<TD WIDTH=40% height="20"><B>书名:</B> <A HREF="../html/book.asp?BookID=<% Response.Write RSBooks("BookID") %>"><% Response.Write RSBooks("Title") %></A></TD>
<td width=20% height="20"><B>著者:</B> <% Response.Write RSBooks("Author") %></td>
<td width=30% height="20"><B>主题:</B> <% Response.Write RSBooks("Subject") %> </td>
<% RSBooks.MoveNext
Loop %>
图书页面
图书页面的代码显示图书的有关信息,以及管理图书的出借操作。
该页面通过Querystring 传递BookID
if isempty(Request.QueryString("BookID")) then
Response.Redirect "./search.html"
end if
如果其中不存在,则访问者将被重定向到搜索页面:
如果同时传递表单中包含的变量Action不为空,则表明访问者正借阅该图书:
if Not isempty(Request.QueryString("Action")) then
在这种情况下,需要将图书状态改为 Checkout, 同时需要将Checkedoutto 字段修改为该访问者:
conn.Execute "update LibBooks set Status = 'Checked Out', " _
& "CheckedOutTo = " & Session("EmpID") & " where BookID = " _
& Request.QueryString("BookID")
Response.Redirect "./library_menu.asp"
end if
然后将该访问者重定到图书馆菜单页面:
下一步,利用图书的状态来确定不同的链接
未借出时链接如下:
if RSBooks("status") = "Available" then
LinkText = "<A HREF=""../html/book.asp?Action=CheckOut&BookID=" _
& Request.QueryString("BookID") & """>借这本书</A>"
如果图书已经借出,就创建一个不同的消息,并将链接设置为指向Library menu 页面:
LinkText = "<A HREF=""../html/library_menu.asp"">图书已出借,返回主菜单。</A>"
最后根据是否是管理员,显示管理员菜单链接。
<% If Session("Manager") = 1 then %><A HREF="../html/management_menu.asp?title=<% response.write RSBooks("Title") %>&BOOKID=<% response.write RSBooks("BOOKID") %>">管理员菜单</A><% end if %>
3.3网上评优投票系统
3.3.1功能:
能实现全校性的评选,快捷、公平,且有效,不允许做票。
3.3.2组成构造
这个系统由3个部分组成——投票页面vote.htm ,处理投票结果的脚本,显示投票页面 。
3.3.3数据表的设计:
3.3.4界面设计与重点、难点代码设计
投票页面
该页面是一个纯HTML文件,它让用户选择自己想选举的候选人,并填写自己的详细资料,以确认投票的有效性。页面显示如图所示。
表单处理脚本
在vote.htm中各项数据都填写完毕后,单击确定投票按钮,表单的数据就被提交,
本次评优共有4个候选人,但只能选两个。故用复选框。
投票的有效性通过是否是本校学生,且是否投过票来判断。
if request("passno")<>"" then
sql="select * from stud where password="&"'"&request("passno")&"'" &"and yitu=0"
set rs=cn.execute(sql)
if rs.eof then%>
<h2 align=center><%response.write"你无权投票"%></h2>
本设计允许少选,不允许多选。通过判断Vote投票界面传递过来的复选按纽值的长度看是否多选。
vo=request("cand")
if len(vo)>4 then%>
<h2 align=center><%response.write "多选了,无效"%></h2>
然后根据所投的票将对应候选人的投票结果字段加1,同时将该投票人的已投字段置为1。
sqq="update stud set yitu=1 where password="&"'"&request("passno")&"'"
cn.execute(sqq)
if instr(vo,"1") then
cn.execute("update stud set result=result+1 where name='李宁'")
end if
if instr(vo,"2") then
cn.execute("update stud set result
写作版权归原作者所有,如需转载或摘录请注明出处:我爱D公文网
点击数: