论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

一个小型搜索引擎(论文+程序)

4 系统前台模块设计

4.1网站搜索及图片搜索模块的实现 http://www.paper51.com

4.1.1功能描述 copyright paper51.com

用户访问系统时,首先接触到的是首页面index.asp,它提供了到达6个功能模块的超链接,默认显示为网站搜索模块。另外页面还提供一个表单from,让用户输入要搜索的关键字,当用户输入关键字单击搜索按钮后,表单中的数据将被提交到search.asp文件中处理。在search.asp首先读取传递过来的数据,然后判断该数据是否为空。如果不为空。则将数据分割为多个关键字,然后在数据库中查找匹配的记录,并在页面上显示。 内容来自www.paper51.com

4.1.2流程图 内容来自论文无忧网 www.paper51.com

在网站搜索模块中,数据流程如图2所示:

http://www.paper51.com

         内容来自论文无忧网 www.paper51.com

图2 网站搜索流程图 http://www.paper51.com

4.1.3界面设计 copyright paper51.com

搜索模块的界面设计如图3所示:

http://www.paper51.com

paper51.com

 图3 网页搜索模块界面图 http://www.paper51.com

图片搜索结果如图4所示: copyright paper51.com

内容来自论文无忧网 www.paper51.com

图4 图片搜索结果图

paper51.com

4.1.4代码设计

内容来自论文无忧网 www.paper51.com

输入关键字后,数据被提交到search.asp中,首先使用Request对象的QueryString()方法读取表单传递过来的关键字。

copyright paper51.com

ifkeyword="" then                                                       '关键词为空 paper51.com

           '给出提示,返回前一页。history.back()函数的作用是返回前一页

copyright paper51.com

      response.write"<Script>window.alert('请输入关键词!');history.back();</Script>"

内容来自www.paper51.com

else paper51.com

然后将多个关键字进行处理后分开保存在一维数组中:

内容来自论文无忧网 www.paper51.com

keyword =replace(keyword,"'"," ")                '用空格替换关键词中的字符"'"

copyright paper51.com

    keyword= replace(keyword,"["," ")                '用空格替换关键词中的字符"[" paper51.com

    keyword= replace(keyword,"]"," ")                '用空格替换关键词中的字符"]"  keyword = replace(keyword,",","")              '用空格替换关键词中的中文字符"," 内容来自论文无忧网 www.paper51.com

    keyword= replace(keyword,","," ")             '用空格替换关键词中的英文字符"," copyright paper51.com

keyword =replace(keyword,"   "," ") 

内容来自论文无忧网 www.paper51.com

    keyword= replace(keyword,"  "," ")

内容来自www.paper51.com

    keyword= replace(keyword," "," ")        '清除多余的空格

内容来自论文无忧网 www.paper51.com

    keyword=ltrim(rtrim(keyword))                   '去掉关键词左边和右边的空格。函数LTrim去掉字符串左边空格,函数RTrim 去掉字符串右边空格

paper51.com

    keywordlist=split(keyword)                        '将用户输入的关键词用空格分成多个关键词并保存在一维数组keywordlist中

内容来自www.paper51.com

然后在循环写出查询的spl语句:

http://www.paper51.com

       setrs=server.createobject("adodb.recordset")                      '建立RecordSet对象 paper51.com

       for i=0 toubound(keywordlist)                                                    'ubound函数获得数组最大下标值

copyright paper51.com

              keywordlist(i)= Trim(keywordlist(i))                             'Trim函数去掉字符串左边和右边函数 paper51.com

              sql=sql&" web.title like '%" & keywordlist(i) & "%' or"      'sql 语句,web.title指的是数据表web 中title列的值,web.title 中包含关键词keywordlist(i) 内容来自论文无忧网 www.paper51.com

              sql=sql&" web.keyword like '%" & keywordlist(i) & "%' or"

http://www.paper51.com

              sql=sql&" web.content like '%" & keywordlist(i) & "%' or"

copyright paper51.com

              sql=sql&" web.url like '%" & keywordlist(i) & "%' or "

paper51.com

       next paper51.com

       sql=Left(sql,(LEN(sql)-3))                                                          'LEN函数获得字符串的长度,left 函数获得字符串从左边数指定数目的字符,在此是去掉字符串中最后几位的"or" 内容来自论文无忧网 www.paper51.com

ifpath="" or sort_path="/0/" then                                                 http://www.paper51.com

              search_sql="verify=0and ("&sql&") order by click desc"

http://www.paper51.com

       else

http://www.paper51.com

              search_sql="sort_pathlike '%" & sort_path & "%' and verify=0  and ("&sql&") order byclick desc"

http://www.paper51.com

       end if copyright paper51.com

                                                '从数据库中查询满足条件的记录,并保存在rs中 paper51.com

       rs.open paper51.com

"selectid,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,clickfrom web where "&search_sql,conn,1,1

内容来自论文无忧网 www.paper51.com

执行查询。使用html代码显示查询页面的网站搜索部分,然后判断是否存在满足条件的记录,如果存在,则使用showcontent()过程显示满足条件的所有记录,并将记录中的关键字用红色字体显示。然后使用showpage()过程显示记录的页数信息,包括当前页、总页数等。最后显示查询页面的底部的管理入口及版本信息,并建立到管理员登录的超连接。

http://www.paper51.com

4.2 分类目录模块的实现 paper51.com

4.2.1功能描述

内容来自论文无忧网 www.paper51.com

分类目录界面由dir.asp实现,在该页面显示的分类信息包括sort_id=0的分类和sort_id=1的分类,即最上级分类和要求显示在首页上的下级分类。例如,如果把“医疗健康”作为最上级分类。“医疗健康”又分为以下10个类:紧急救助、瘦身、性保健/知识、心理健康、医院、癌症、医学、营养品、养生保健和女性健康。设置这10个分类也显示在首页上,即show=1。这10个分类的下一级分类不在首页上显示。当单击分类目录首页上的某分类时,将进入list.asp文件,在该文件中,将详细显示这一分类及其下级分类,并显示属于这一分类的所有网站信息。

内容来自www.paper51.com

4.2.2工作流程和代码设计 内容来自论文无忧网 www.paper51.com

单击分类目录首页上的某一分类,进入list.asp文件,在该文件中,首先使用Request对象的QueryString()方法读取sort_id的值在数据库中查找这一分类的所有上级分类,并连接在一起,其逐级显示分类的代码如下: http://www.paper51.com

locality=">> "&sort           '要在网页上显示的逐级分类,如计算机>>软件>>编程语言

paper51.com

ifsort_id<>0 then              'sort_id<> 0 表示该类存在上级分类 内容来自www.paper51.com

      for i=1 to 8               '8表示在本系统中分类只有8级

paper51.com

             setrs=conn.execute("select * from sort where id="&sort_id) 内容来自www.paper51.com

             ifrs.eof and rs.bof then                                                

copyright paper51.com

             else                                                                              内容来自www.paper51.com

                    sort=rs("sort")                                                           内容来自论文无忧网 www.paper51.com

                    locality=">>

paper51.com

<ahref=list.asp?sort_id="&sort_id&">"&sort&"</a>"&locality  copyright paper51.com

                    sort_id=rs("sort_id")        '上一层分类的id 内容来自论文无忧网 www.paper51.com

             endif http://www.paper51.com

             rs.close                                                                        

paper51.com

             setrs = nothing paper51.com

      next

paper51.com

endif paper51.com

若该分类还存在下级分类,将显示下级分类,最后显示属于这一分类的所有网站信息,在显示网站信息的代码出来中,用到了两个过程:showcontent()过程和showpage()过程。Showcontent()过程显示所有满足条件的记录。Showpage()过程显示页数信息,包括当前页、总页数等,其中过程showpage()的处理代码如下: copyright paper51.com

Functionshowpage(totalnumber,maxperpage,filename)            '定义过程 内容来自www.paper51.com

      Dim n                          paper51.com

      If totalnumberMod maxperpage=0 Then      'totalnumber能够整除maxperpage

copyright paper51.com

             n=totalnumber \ maxperpage 

paper51.com

      Else                                                                'totalnumber不能够整除maxperpage copyright paper51.com

             n=totalnumber \ maxperpage+1  paper51.com

      End If

http://www.paper51.com

      IfCurrentPage<2 Then                                  '当前页是第一页

http://www.paper51.com

      %>

copyright paper51.com

        第一页 上一页 paper51.com

       <% paper51.com

    Else                                                                     '当前页不是第一页 copyright paper51.com

      %> 

copyright paper51.com

 <a href="<%=filename%>?sort_id=<%=rqid%>&page=1">第一页</a><ahref="<%=filename%>?sort_id=<%=rqid%>&page=<%=CurrentPage-1%>">上一页</a>

内容来自论文无忧网 www.paper51.com

    <% copyright paper51.com

    End If

http://www.paper51.com

          Ifn-currentpage<1 Then                      '总页数小于或等于当前页

paper51.com

          %> 内容来自论文无忧网 www.paper51.com

        下一页 最后一页

paper51.com

    <%

内容来自www.paper51.com

      Else                                                            '总页数大于当前页

http://www.paper51.com

       ……

copyright paper51.com

 End If 内容来自论文无忧网 www.paper51.com

 %>

内容来自www.paper51.com

共<%=totalnumber%>个网站 页次:<%=CurrentPage%>/<%=n%>页 copyright paper51.com

4.3网站登录模块的实现

paper51.com

4.3.1 功能描述

http://www.paper51.com

网站登录页面为jion.asp,在网站登录模块,包含一个表单,用于网站联系人输入网站和个人信息,在表单中,包含输入网站信息的文本域。其中。显示分类目录的文本域为sort_id,它为只读类型,只能单击文本域右边的“选择分类”按钮来输入,当网站联系人输入所有的信息,并单击“确定”按钮,然后判断用户输入的分类目录是否存在,如果存在,则生成输入网站的最终分类目录。接着再判断用户输入的网站网址是否已经保存在数据库中,如果没有保存在数据库中,则在数据库中插入一条新的记录。如果数据库中已经存在该网址,则给出提示,并返回到前一页,当所有的数据保存在数据库中之后,页面上显示网站登录成功的提示。 http://www.paper51.com

4.3.2 数据流程图

paper51.com

网站登录的数据流程图如图5:

http://www.paper51.com

     copyright paper51.com

图5 网站登录流程图 copyright paper51.com

4.3.3 工作流程 copyright paper51.com

当网站联系人输入所有的信息提交后,表单中的数据首先在check()过程中检查其合法性,如果合法,数据将被提交到join_ok.asp文件中处理,在该文件中将使用Request对象的From()方法获取网站登录数据,然后判断用户输入的分类目录是否存在,如果存在,则生成输入网站的最终分类目录,接着再判断用户输入的网站网址是否已经保存在数据库中,如果没有保存在数据库中,则在数据库中插入一条新的记录:

内容来自论文无忧网 www.paper51.com

rs.addnew                                                                              '插入新记录

http://www.paper51.com

      rs("sort")=path                                                                     '子类名称

copyright paper51.com

      rs("sort_path")=path_id                                                        '子类id路径 http://www.paper51.com

      rs("sort_id")=sort_id                                                     '父类id

内容来自www.paper51.com

      rs("title")=request.form("title")                                 '网站名称 paper51.com

      rs("url")=request.form("url")                                    '网站网址

http://www.paper51.com

      rs("keyword")=request.form("keyword")                       '关键字

内容来自论文无忧网 www.paper51.com

      rs("content")=request.form("content")                            '网站描述

内容来自www.paper51.com

      rs("name")=request.form("name")                                         '联系人姓名

copyright paper51.com

      rs("email")=request.form("email")                                   '联系人email

copyright paper51.com

      ifoicq="" then                                                                      'qq为空 内容来自www.paper51.com

             rs("oicq")=null

copyright paper51.com

      else

内容来自www.paper51.com

             rs("oicq")=oicq                                                             'qq 内容来自www.paper51.com

      end if 内容来自论文无忧网 www.paper51.com

      rs("address")=request.form("address")                           '联系人地址

paper51.com

      rs("postcode")=request.form("postcode")               '邮政编码 内容来自www.paper51.com

      rs("verify")="-1"                                                                '-1表示为审查

http://www.paper51.com

      rs("click")="0"                                                                      '点击次数 copyright paper51.com

      rs("time")=date()                                                               '登录时间 http://www.paper51.com

      rs.update                                                                                 '更数数据库

http://www.paper51.com

      rs.close                                                                             '关闭RecordSet对象 copyright paper51.com

endif http://www.paper51.com

setrs=nothing paper51.com

如果数据库中已经存在该网址,则给出提示,并返回到前一页。当所有的数据保存到数据库中后,将在页面上显示登录成功的提示。 内容来自论文无忧网 www.paper51.com

------分隔线----------------------------
联系方式