构建你的网站新闻自动发布系统.docx

上传人:b****1 文档编号:12519791 上传时间:2023-04-19 格式:DOCX 页数:24 大小:25.56KB
下载 相关 举报
构建你的网站新闻自动发布系统.docx_第1页
第1页 / 共24页
构建你的网站新闻自动发布系统.docx_第2页
第2页 / 共24页
构建你的网站新闻自动发布系统.docx_第3页
第3页 / 共24页
构建你的网站新闻自动发布系统.docx_第4页
第4页 / 共24页
构建你的网站新闻自动发布系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

构建你的网站新闻自动发布系统.docx

《构建你的网站新闻自动发布系统.docx》由会员分享,可在线阅读,更多相关《构建你的网站新闻自动发布系统.docx(24页珍藏版)》请在冰豆网上搜索。

构建你的网站新闻自动发布系统.docx

构建你的网站新闻自动发布系统

构建你的网站新闻自动发布系统之一

更新每天新闻内容,对webmaster们来说是一件很头痛的事,首先,收集了大量的新闻资料后,还必须制作大量的网页,每天大大小小的国际新闻,国内新闻,IT新闻,可真够你累的。

最致命的一点,这些松散的新闻是管理不了的,不能查询,不能在线动态删改,新闻讲求时效性,当你作好网页然后上传到服务器上的时侯,恐怕别人已早你一步,把新闻报导出来了。

当真吃力不讨好,针对现在我们的上网环境,在线发布新闻,动态生成新闻网页,为新闻添加搜索,查找功能是必不可少的。

 

  那么,使用ASP技术如何来实现动态的新闻发布系统呢?

而新闻系统的做法大致上有两种,一就是把录入的新闻内容自动由程序直接生成html文件,比如按日期和新闻ID号来做htm文件的名称,我们常常可以从一些大的新闻站看到这样的处理。

而另一种就是直接把新闻数据保存到数据库里,当用户阅读新闻时。

从数据库中调出数据,动态生成页面。

 

  两种处理有何差别?

第一种的显示速度和对服务器的负何来说,是最轻的。

对于大流量的站点,速度就是生命,网站太慢了,有谁去浏缆呢?

后一种方法在处理上比教简便。

维护也方便,还有一种就是两种双结何,因为只有应用数据库才能方便地处理查询,从而把读者引导至相应的新闻页面,综合上面的方法,可以说都是各有千秋,现在我们主要介绍使用数据库的那种动态页面方法。

 

  从处理流程上来说,主要是提供一个管理新闻的页面(可以添加和删除每天的新闻,包括新闻图片,标题等),然后在到调用新闻的显示页面处理。

考滤到新闻需要插到不同风格的网页中,所以不能使用一个固定格式的页面来显示新闻提要。

应当把它们做成一个主页的可插入部分,那么就可以在不同风格的页面上调用新闻了。

就如下面的script语句 

  《scriptlanguage="javascript"src="http// 

《/script》 

  最后还有一个阅读新闻时的详细内容页面。

总的来说,也就是一个可以完成在线新闻发布的程序主要由四大部分程序构成 

  addnew.asp(用于把新闻数据保存到数据库中)delete.asp(用于处理删除新闻) 

  autoup.asp(用于处理新闻的标题显示,也就是插入主页的部分)read.asp(动态生成新闻的详细内容) 

  附助处理的部分有set_disp.asp(用于处理新闻在主页的显示数目等等) 

  当然,必不可少的就是一个新闻数据库了。

 

   

(一)构建新闻数据库 

  分析一下构成每条新闻的元素,主要由新闻标题,新闻内容,图片地址,连接地址,新闻的发布时间组成。

而在构建数据库的时候。

考虑到处理需要,必需加上新闻的ID号,以便识别。

再者的话,可以加上点击统计,以便了解读者感性趣的内容。

access数据库是一个非常适合于开发阶段使用的过度时期数据库,因此。

我们构造如下的一个新闻数据库(data.mdb) 

  表data 

  news_id       long  新闻的编号 

  news_class     text   新闻的类别 

  news_class_name  text   新闻的类别名 

  news_title      text   新闻的标题 

  news_head     logic   是否首页显示 

  news_comment   comment 新闻的内容 

  news_year      text   新闻的年份 

  news_month     text   新闻的月份 

  news_day      text   新闻的内容 

  news_time      text   更新时间 

  news_delete     logic  删除标志 

  按上述的要求建好这个表,当我们经过测试稳定后,就可以把新闻数据库转入sql server里面 

了。

好了,接这下来的这步,我们一起来做一个新闻的管理页面,为了布局和管理方便,我们采用 

框架结构做出如下的面页。

Webadmin.htm框架的主文件。

 

《html》 

《head》 

《metahttp-equiv="Content-Type"content="text/html;charset=gb2312"》 

《title》新闻发布系统管理页《/title》 

《metaname="GENERATOR"content="MicrosoftFrontPage3.0"》 

《/head》 

《framesetframespacing="0"rows="*,14%"》 

《framename="main"target="footnotes"src="webadmin.asp"scrolling="auto"》 

《framename="footnotes"src="delete.asp"scrolling="auto"》 

《noframes》 

《body》 

《p》Thispageusesframes,butyourbrowserdoesn'tsupportthem.《/p》 

《/body》 

《/noframes》 

《/frameset》 

《/html》 

而面包含的文件是webadmin.asp这个文件。

主要由它提供录入新闻的每天更新界面,代码如下。

 

《html》 

《head》 

《metahttp-equiv="Content-Type"content="text/html;charset=gb2312"》 

《styleTYPE="text/css"》 

《!

-- 

.lh22px{font-size:

12px;line-height:

22px;font-family:

宋体} 

a{text-decoration:

none} 

body{line-height:

18px;font-size:

9pt;font-family:

宋体} 

td{line-height:

18px;font-size:

9pt;font-family:

宋体} 

a:

hover{color:

#FF0000;text-decoration:

none} 

--》 

《/style》 

《basetarget="footnotes"》 

《title》新闻发布系统管理页《/title》 

《/head》 

《bodytopmargin="8"leftmargin="8"》 

《palign="center"》《fontface="楷体"size="6"color="#FF0000"》《strong》新闻发布系统WEB管理页《/strong》《/font》《/p》 

《div align="center"》《center》 

《tableborder="0"width="100%"cellspacing="0"cellpadding="0"》 

《tr》 

《tdwidth="100%"》《formmethod="POST"action="addnew.asp"》 

《tableborder="0"width="100%"height="126"cellpadding="0"》 

《tr》 

《tdwidth="100%"height="9"colspan="2"bgcolor="#E7E7E7"》《divalign="center"》《center》《p》《font 

size="3"》《strong》添加每天新闻内容《/strong》《/font》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="15%"height="8"bgcolor="#E7E7E7"》《divalign="left"》《p》新闻标题:

(必须)《/td》 

《tdwidth="85%"height="8"bgcolor="#F9F9F9"》《divalign="left"》《p》《inputtype="text" 

name="title"size="73"》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="15%"height="34"bgcolor="#E7E7E7"valign="top"》《divalign="left"》《p》新闻内容:

(必须)《/td》 

《tdwidth="85%"height="34"bgcolor="#F9F9F9"》《divalign="left"》《p》《textarearows="13" 

name="comment"cols="72"》《/textarea》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="15%"height="17"bgcolor="#E7E7E7"》《divalign="left"》《p》图片连接地址:

《/td》 

《tdwidth="85%"height="17"bgcolor="#F9F9F9"》《divalign="left"》《p》《inputtype="text" 

name="pic"size="73"》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="15%"height="17"bgcolor="#E7E7E7"》《divalign="left"》《p》新闻类型:

(必须)《/td》 

《tdwidth="85%"height="17"bgcolor="#F9F9F9"》《divalign="left"》《p》《select 

name="class_name"size="1"value="《%=session("class_name")%》"》 

《optionvalue="市场风云"》市场风云《/option》 

《optionvalue="IT新闻"》IT新闻《/option》 

《optionvalue="广州市场"》广州市场《/option》 

《optionvalue="保 留"》保 留《/option》 

《optionvalue="保 留"》保 留《/option》 

《/select》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="15%"height="17"bgcolor="#E7E7E7"》《divalign="left"》《p》是否首页:

《/td》 

《tdwidth="85%"height="17"bgcolor="#F9F9F9"》《divalign="left"》《p》《inputtype="checkbox" 

name="head"value="YES"》《/td》 

《/tr》 

《tralign="center"》 

《tdwidth="100%"height="16"colspan="2"bgcolor="#E7E7E7"》《divalign="center"》《center》《p》《input 

type="submit"value="提 交"name="B1"》      《inputtype="reset" 

value="清 除"name="B2"》《/td》 

《/tr》 

《/table》 

《/form》 

《/td》 

《/tr》 

《/table》 

《/center》《/div》《divalign="center"》《center》 

《tableborder="0"width="750"cellpadding="0"》 

《tr》 

《tdwidth="740"》《/td》 

《/tr》 

《tr》 

《tdwidth="740"》《formmethod="POST"action="set_disp.asp"》 

《tableborder="0"width="100%"cellpadding="0"》 

《tr》 

《tdwidth="100%"bgcolor="#E7E7E7"colspan="5"》《divalign="center"》《center》《p》首页新闻显示条数设置《/td》 

《/tr》 

《tr》 

《tdwidth="20%"》《divalign="center"》《center》《p》广州市场《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》市场风云《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》IT新闻《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》保 留《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》保 留《/td》 

《/tr》 

《tr》 

《tdwidth="20%"》《divalign="center"》《center》《p》《inputtype="text"name="disp_1"size="10" 

value="《%=application("disp_1")%》"》《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》《inputtype="text"name="disp_2"size="10" 

value="《%=application("disp_2")%》"》《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》《inputtype="text"name="disp_3"size="10" 

value="《%=application("disp_3")%》"》《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》《inputtype="text"name="disp_4"size="10" 

value="《%=application("disp_4")%》"》《/td》 

《tdwidth="20%"》《divalign="center"》《center》《p》《inputtype="text"name="disp_5"size="10" 

value="《%=application("disp_5")%》"》《/td》 

《/tr》 

《tr》 

《tdwidth="100%"bgcolor="#E7E7E7"colspan="5"》《divalign="center"》《center》《p》《input 

type="submit"value="提 交"name="B1"》      《inputtype="reset" 

value="清 除"name="B2"》《/td》 

《/tr》 

《/table》 

《/form》 

《/td》 

《/tr》 

《tr》 

《tdwidth="740"》《/td》 

《/tr》 

《tr》 

《tdwidth="740"》《fontcolor="#FF0000"》附注《/font》 新闻标题:

即为显示在主页中的连接标题,因此不可省略。

《/td》 

《/tr》 

《tr》 

《tdwidth="740"》   新闻内容:

为点击标题连接后窗口所打开显示的新闻内容,也不允许省略。

《/td》 

《/tr》 

《tr》 

《tdwidth="740"》   新闻图片:

新闻包含图片,请把图片地址连接复制在此,以便显示图片《/td》 

《/tr》 

《tr》 

《tdwidth="740"》   新闻类型:

选择新闻在不同栏目中显示的位置《/td》 

《/tr》 

《tr》 

《tdwidth="740"》   是否首页:

如首页的综合新闻包需含图片,请复选此项《/td》 

《/tr》 

《tr》 

《tdwidth="740"》《palign="center"》《ahref="index.asp"target="_parent"》返回新闻首页《/a》《/td》 

《/tr》 

《/table》 

《/center》《/div》 

《/body》 

《/html》 

  好了,下节“添加每天的新闻内容”将为您介绍如何对新闻数据进行处理,请先按步骤建立好上面的编程环境。

构建你的网站新闻自动发布系统之二

(二)添加和管理每天的新闻内容 

  当进行了新闻提交后,则交由一个名为addnew.asp的asp程序来对新闻内容进行处理,以便分类和保存,为了显示清析,我们每提交一条新闻,下面的那个新闻内容库就重新读入,以便可以查看新闻是否能成功加入都数据库中,也可以放便地删除新闻内容。

  

  现在看看addnew.asp是如何完成程序处理的。

 

《%@language="vbscript"%》 

《% 

response.buffer=true 

Response.Expires=0 

'保存数据 

session("title")=request.form("title") 

session("comment")=request.form("comment") 

session("pic")=request.form("pic") 

session("class_name")=request.form("class_name") 

session("head")=request.form("head") 

'判断传过来的参数符不符合要求 

ifrequest.form("title")=""then 

response.redirect"delete.asp" 

endif 

ifrequest.form("comment")=""then 

response.redirect"delete.asp" 

endif 

ifrequest.form("class_name")=""then 

response.redirect"delete.asp" 

endif 

selectcaserequest.form("class_name") 

case"市场风云" 

class=1 

case"IT新闻" 

class=2 

case"广州市场" 

class=3 

case"保 留" 

class=4 

case"保 留" 

class=4 

endselect 

'连接数据库 

%》 

《!

--#includeVirtual="/news/data/data.inc"--》 

《% 

Setrs=Server.CreateObject("ADODB.Recordset") 

sql="select*fromdataorderbynews_idASC" 

rs.opensql,conn,3,2 

'查找编号 

ifrs.bofthen 

reco=0 

else 

rs.movelast 

reco=Clng(rs("news_id"))+1 

endif 

rs.addnew 

rs("news_id")=reco 

ifrequest.form("head")="YES"then 

rs("news_head")=-1 

endif 

rs("news_class")=class 

rs("news_class_name")=request.form("class_name") 

ifrequest.form("pic")《》""then 

rs("news_pic")=request.form("pic") 

rs("news_title")=request.form("title")&"(图文)" 

else 

rs("news_title")=request.form("title") 

endif 

ifrequest.form("head")="YES"then 

rs("news_head")=-1 

endif 

tmpmess=request.form("comment") 

tmpmess=replace(tmpmess,chr(10)," 

") 

tmpmess=replace(tmpmess,"《","《") 

tmpmess=replace(tmpmess,"》","》") 

tmpmess=replace(tmpmess,"

","

") 

rs("news_comment")=tmpmess 

rs("news_year")=year(Date) 

rs("news_month")=month(Date) 

rs("news_day")=day(Date) 

ifInstr(Time,"下午")》0then 

tmp=left(right(Time,8),2)+12 

rs("news_time")=tmp&right(Time,6) 

else 

rs("news_time")=tmp&right(Time,8) 

endif 

rs("news_delete")=0 

rs.update 

rs.close 

response.redirect"delete.asp" 

%》 

  程序中首先判断了提交的新闻是否合符条件,比如新闻标题是不能为空的,而换行符也得转换为html语句的br,否则不能正常地显示出新闻的格式,而这里采用了一个包含文件data.inc,它的用处主要是用于连接不同的数据库,所以asp程序都通过包含这个文件来指定数据源,那么当更改使用别的数据库时,只需要更改这个文件,就能方便地实现来不同数据库间的切换,是不是十分方便呢?

 

  以下的data.inc文件的内容。

 

《% 

Setconn=Server.CreateObject("ADODB.Connection") 

DBPath=Server.MapPath("/")&"/news/data/data.mdb" 

conn.Open"driver={Microsoft access Driver(*.mdb)};dbq="&DBPath 

%》 

  还有需要注意一下的是NT和windows 98的日期时间函数所返回的值是不同的,win98是以24小时来计算的,而NTServer则使用12小时,另外加上“上午”和“下午”来表示,因此需要作出少许的更该处理。

 

  程序处理完毕后,重新导向delete.asp这个asp文件,用以刷新新闻数据库内的显示,那么每提交一条新闻资料,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1