现在,我们可以更进一步,把类别表显示出来,让用户可以通过选择不同的类别来查看不同的内容。该怎样解决呢?
我们可以这样来考虑:
1、把类别的选择也看作一种查询
2、为了节省页面空间,把类别放在下拉列表框中,同时提供“所有类别”项,让用户可以浏览全部信息
因此,我们把类别放在 query.inc 中
另外,我们把 theScript 和 myconnstr 、thePageSize 都放入 function.inc 中,这样页面结构看起来更加合理。
注意 getScriptName() 函数,它从文件名取得 ASP 的名字,文件名后面的 add、delete、edit、view 作为系统的关键字,被过滤,例如:
theActionScript = getScriptName("sample_edit.asp")
theActionScript 值为 "sample"
这样我们可以对某个表的增删改操作用不同的文件来实现,例如:
list_add.asp 添加记录
list_delete.asp 删除
list_edite.asp 修改
list_view.asp 查看
在以后的篇章中,我们就会用到 theActionScript,您会发现有了它,很多功能都可以总结、合并。
请看 sample3.asp
<一> 需要分页的 ASP 文件
sample3.asp
<!--#include file="../inc/functions.inc"-->
<%
'//////////////////////////////////////////////////////////
'
' 定义表名
'
'//////////////////////////////////////////////////////////
theTableName= "addressbook"
'//////////////////////////////////////////////////////////
'
' 查询条件
'
'//////////////////////////////////////////////////////////
theQueryField = "fld" & theTableName & "_nickname"' 查询字段,完整名字
theQueryTitle = "昵称" ' 字段显示标题
theQueryTable = "vw" & theTableName ' 字段所在的表,完整名字
theQueryClass = theTableName & "_class" ' 类别表名,去掉 tbl、vw 前缀
theClassId = c2int(request("classid")) ' 当前类别号
' 如果是查询模式,则构造模糊查询语句
if request("mode") = "query" then
%><!--#include file="../inc/control/query_result.inc"--><%
else
' 否则忽略
theQueryCon = "1>0"
end if
'//////////////////////////////////////////////////////////
'
' 限制条件
'
'//////////////////////////////////////////////////////////
theLimitCon = "fld" & theTableName & "_userid=" & Session("userid")
if theClassId > 0 then
theLimitCon = theLimitCon & " and fld" & theQueryClass & "id=" & theClassId
end if
'/////////////////////