网学网为需要ASP类作品的朋友们搜集整理了基于ASP新闻发布平台的设计相关资料,希望对各位网友有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
第四章系统的实现 4.1 前台新闻浏览模块 前台新闻浏览模块分别由以下几个模块面组成,有新闻浏览模块,单条新闻内容显示的模块、各个栏目内新闻显示的模块、发表新闻评论的模块、查询新闻的模块等,下面就对这几个模块作一一介绍。下图就是前台新闻浏览模块的主页面,而它又是由几个分模块结合而成,有页面头、页面尾、主页栏目内新闻显示的模块、新闻搜索功能模块、推荐新闻显示模块、热点新闻显示模块等。 为了提高代码的重要性,我们把前台浏览页面部分相同的头和尾做成两个模块分别命名为top.asp和bot.asp。只需加上” <!--#include file =” top.asp”-->”和 ” <!--#include file =” bot.asp”-->”。 为了在主页中快捷显示出一些栏目内最新添加的新闻信息,通过栏目ID和栏目名称查询数据库中的新闻表格,按照新闻加入时间排序,将其标题和链接信息显示出来。打开主页之后,就会看到主页中间会有一些新闻的列表,只要点击新闻的标题,就可以打开链接,到单条新闻显示页面。就可以浏览新闻了。另外,如果用户想浏览某个专题的新闻,则只要点击某个专题标题就可以进入到那个专题新闻显示页面了,在主页中,每个栏目的标题的后面都有一个“more”的超链接,只要点击这个就可以打开这个栏目里的更多的新闻,这会转到另外一个页面,即显示栏目新闻显示的页面。在这个页面里,用户就可以浏览到各个新闻。在这个页面的下方,有一个搜索引擎,当用户找不到自己想要的新闻时,可能通过这个搜索引擎来寻找自己想要的新闻。 图4-3为主面栏目内最新新闻信息显示结果。 4.1.3栏目内所有新闻显示的实现 单击主页栏目菜单上的某个栏目,就进入了该栏目的信息页面。由于栏目内信息可能比较多,在显示栏目内新闻信息时,需要分页显示,每个新闻信息又链接到此新闻的浏览页面上。这个功能 的实现和上面主页栏内信息显示功能差不多,按照栏目ID和栏目名称查询数据库中新闻表格,将此栏目里所有的新闻标题、新闻加入的时间和新闻链接信息显示出来。图4-4为主页栏目菜单中“娱乐新闻”栏目内所有新闻显示结果。 以下代码是实现该功能的源代码。 sub ShowArticle(TitleLen) if TitleLen<0 or TitleLen>200 then TitleLen=50 end if sqlArticle=sqlArticle & "select A.ArticleID,A.ClassID,L.LayoutID,L.LayoutFileName,A.Title,A.Key,A.Author,A.CopyFrom,A.UpdateTime,A.Editor,A.TitleFontColor,A.TitleFontType," sqlArticle=sqlArticle & "A.Hits,A.OnTop,A.Hot,A.Elite,A.Passed,A.IncludePic,A.Stars,A.PaginationType,A.ReadLevel,A.ReadPoint,A.DefaultPicUrl from Article A" sqlArticle=sqlArticle & " inner join Layout L on A.LayoutID=L.LayoutID where A.Deleted=False and A.Passed=True " if SpecialID>0 then sqlArticle=sqlArticle & " and A.SpecialID=" & SpecialID end if if ClassId>0 then sqlArticle=sqlArticle & " and A.ClassID=" & ClassID end if sqlArticle=sqlArticle & " order by A.OnTop,A.ArticleID desc" Set rsArticle= Server.CreateObject("ADODB.Recordset") rsArticle.open sqlArticle,conn,1,1 if rsArticle.bof and rsArticle.eof then totalput=0 response.Write ("<br><li>没有任何新闻</li>") else totalput=rsArticle.recordcount if currentpage<1 then currentpage=1 end if if (currentpage-1)*MaxPerPage>totalput then if (totalPut mod MaxPerPage)=0 then currentpage= totalPut \ MaxPerPage else currentpage= totalPut \ MaxPerPage + 1 end if end if if currentPage=1 then call ArticleContent(TitleLen,True,True,True,2,True,True) else if (currentPage-1)*MaxPerPage<totalPut then rsArticle.move (currentPage-1)*MaxPerPage dim bookmark bookmark=rsArticle.bookmark call ArticleContent(TitleLen,True,True,True,2,True,True) else currentPage=1 call ArticleContent(TitleLen,True,True,True,2,True,True) end if end if end if rsArticle.close set rsArticle=nothing end sub 4.1.4新闻搜索功能的实现 新闻搜索主要包含四种方式:一种是按照新闻标题搜索;一种是按照新闻内容搜索;一种是按照新闻作者搜索;最后一种是按照新闻编辑姓名搜索。新闻搜索按照模糊匹配的原则,通过查询数据库中新闻表格得到搜索的结果。由于搜索结果可能很多,所以也用到了分页显示。搜索功能的实现也不难,主要是在写SQL语句时要特别注意模糊查询的语句。 以下代码是实现该功能的源代码。 <BODY bgColor=#ffffff leftMargin=0 topMargin=0 marginwidth="0" marginheight="0"> <!--#include file="top.asp"--> <TABLE width=760 border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#ffffff> <TBODY> <TR> <TD width=460 height=30> <br> <FONT color=#cc0000>◆</FONT> <span class="title_maintxt"> <% if keyword="" then response.write "所有新闻" else select case strField case "Title" response.write "新闻标题含有 <font color=red>"&keyword&"</font> 的新闻" case "Content" response.write "新闻内容含有 <font color=red>"&keyword&"</font> 的新闻" case "Author" response.write "作者姓名含有 <font color=red>"&keyword&"</font> 的新闻" case "Editor" response.write "编辑姓名含有 <font color=red>"&keyword&"</font> 的新闻" case else response.write "新闻标题含有 <font color=red>"&keyword&"</font> 的新闻" end select end if %> <br> </span></TD></TR></TBODY></TABLE> <TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0></TABLE> <TABLE width=760 border=0 align="center" cellPadding=0 cellSpacing=0> <TBODY> <TR> <TD width=760 bgColor=#ffffff> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR> <TD height=20> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR bgColor=#f0f9ff> <TD class=p1 width=10> </TD> <TD class=p1 width=20><DIV align=center></DIV></TD><TD width=695> <br> <%call ShowSearchResult()%></TD><TD width=20> </TD></TR><TR> <TD width=10 height=8></TD><TD width=20 height=8></TD> <TD class=p1 style="LINE-HEIGHT: 18px" width=695 bgColor=#ffffff height=8></TD> <TD width=20 bgColor=#ffffff height=8></TD></TR> </TBODY></TABLE></TD></TR> <TR> </TR></TBODY></TABLE></TD></TR></TBODY></TABLE> <TABLE width=760 border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#ffffff> <TABLE width=760 border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#ffffff> <TBODY> <TR> <TD height=20> <% if totalput>0 then call showpage(strFileName,totalput,MaxPerPage,false,true,"篇新闻") end if %></TD> </TR> <TR><TD height=20></TD></TR></TBODY></TABLE> <TABLE width=760 height=35 border=0 align="center" cellPadding=0 cellSpacing=0 bgColor=#6b86be> <TBODY> <TR> <TD width=40> <DIV align=center></DIV></TD> <TD><% call ShowSearchForm("Article_Search.asp",2) %></TD> </TR></TBODY></TABLE> 4.1.5推荐新闻显示的实现 管理员在添加新闻的时候,有意地将某些新闻设为推荐新闻,这样做的的目地是将一些比较重要的或者比较有意义的新闻推荐给用户。以下代码是实现该功能的源代码。 sub ShowElite(ArticleNum,TitleLen) dim sqlElite,rsElite if ArticleNum>0 and ArticleNum<=100 then sqlElite="select top " & ArticleNum else sqlElite="select top 10 " end if sqlElite=sqlElite & " A.ArticleID,A.Title,A.Author,A.UpdateTime,A.Hits,L.LayoutFileName from article A inner join Layout L on L.LayoutID=A.LayoutID where A.Deleted=False and A.Passed=True And A.Elite=True order by A.articleid desc" Set rsElite= Server.CreateObject("ADODB.Recordset") rsElite.open sqlElite,conn,1,1 if TitleLen<0 or TitleLen>255 then TitleLen=50 if rsElite.bof and rsElite.eof then response.write "<li>无推荐新闻</li>" else do while not rsElite.eof response.Write "<img src=''http://www.lw777.net/a/jisuanji/qita/2013/index_files/article_ontop.gif'' width=''9'' height=''20'' border=''0''><a href=''" & rsElite("LayoutFileName") & "?ArticleID=" & rsElite("articleid") &"'' title=''新闻标题:" & rsElite("Title") & vbcrlf & "作 者:" & rsElite("Author") & vbcrlf & "更新时间:" & rsElite("UpdateTime") & vbcrlf & "点击次数:" & rsElite("Hits") & "'' target=''_blank''>" & gotTopic(rsElite("title"),TitleLen) & "</a>[<font color=red>" & rsElite("hits") & "</font>]<br>" rsElite.movenext loop end if rsElite.close set rsElite=nothing end sub 4.1.6热点新闻显示的实现 用户在浏览新闻前,所关心的往往是那些点击次数比较多的,也就是大家都喜欢看的新闻。系统为满足用户这一需求,在首页中将热点新闻列出来,而且是在首页的开头了。这样用户可以一打开首页就可以看到热点新闻了。如图4-6所示。 以下代码是实现该功能的源代码。 sub ShowHot(ArticleNum,TitleLen) dim sqlHot,rsHot if ArticleNum>0 and ArticleNum<=100 then sqlHot="select top " & ArticleNum else sqlHot="select top 10 " end if sqlHot=sqlHot & " A.ArticleID,A.Title,A.Author,A.UpdateTime,A.Hits,L.LayoutFileName from article A inner join Layout L on L.LayoutID=A.LayoutID where A.Deleted=False and A.Passed=True And A.Hits>=" & HitsOfHot & " order by A.ArticleID desc" Set rsHot= Server.CreateObject("ADODB.Recordset") rsHot.open sqlHot,conn,1,1 if TitleLen<0 or TitleLen>255 then TitleLen=50 if rsHot.bof and rsHot.eof then response.write "<li>无热门新闻</li>" else do while not rsHot.eof response.Write "<img src=''/uploadfile/201305/7/D9143347806.gif'' width=''9'' height=''20'' border=''0''><a href=''" & rsHot("LayoutFileName") & "?ArticleID=" & rsHot("articleid") &"'' title=''新闻标题:" & rsHot("Title") & vbcrlf & "作 者:" & rsHot("Author") & vbcrlf & "更新时间:" & rsHot("UpdateTime") & vbcrlf & "点击次数:" & rsHot("Hits") & "'' target=''_blank''>" & gotTopic(rsHot("title"),TitleLen) & "</a>[<font color=red>" & rsHot("hits") & "</font>]<br>" rsHot.movenext loop end if rsHot.close set rsHot=nothing end sub |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |