日期:2013-05-15  浏览次数:21203 次

现在,我们可以更进一步,把类别表显示出来,让用户可以通过选择不同的类别来查看不同的内容。该怎样解决呢?

我们可以这样来考虑:
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

    '/////////////////////