作者:未知 文章来源:http://www.21blue.com 点击数: 更新时间:2005-6-28  |
|
更新每天新闻内容,对webmaster们来说是一件很头痛的事,首先,收集了大量的新闻资料后,还必须制作大量的网页,每天大大小小的国际新闻,国内新闻,IT新闻,可真够你累的。最致命的一点,这些松散的新闻是管理不了的,不能查询,不能在线动态删改,新闻讲求时效性,当你作好网页然后上传到服务器上的时侯,恐怕别人已早你一步,把新闻报导出来了。当真吃力不讨好,针对现在我们的上网环境,在线发布新闻,动态生成新闻网页,为新闻添加搜索,查找功能是必不可少的。 那么,使用ASP技术如何来实现动态的新闻发布系统呢?而新闻系统的做法大致上有两种,一就是把录入的新闻内容自动由程序直接生成html文件,比如按日期和新闻ID号来做htm文件的名称,我们常常可以从一些大的新闻站看到这样的处理。而另一种就是直接把新闻数据保存到数据库里,当用户阅读新闻时。从数据库中调出数据,动态生成页面。 两种处理有何差别?第一种的显示速度和对服务器的负何来说,是最轻的。对于大流量的站点,速度就是生命,网站太慢了,有谁去浏缆呢?后一种方法在处理上比教简便。维护也方便,还有一种就是两种双结何,因为只有应用数据库才能方便地处理查询,从而把读者引导至相应的新闻页面,综合上面的方法,可以说都是各有千秋,现在我们主要介绍使用数据库的那种动态页面方法。 从处理流程上来说,主要是提供一个管理新闻的页面(可以添加和删除每天的新闻,包括新闻图片,标题等),然后在到调用新闻的显示页面处理。考滤到新闻需要插到不同风格的网页中,所以不能使用一个固定格式的页面来显示新闻提要。应当把它们做成一个主页的可插入部分,那么就可以在不同风格的页面上调用新闻了。就如下面的script语句 <script language="JavaScript" src="http//xxx.com.cn/special/linux/lnews/autoup.asp"> </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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>新闻发布系统管理页</title> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> </head> <frameset framespacing="0" rows="*,14%"> <frame name="main" target="footnotes" src="webadmin.asp" scrolling="auto"> <frame name="footnotes" src="delete.asp" scrolling="auto"> <noframes> <body> <p>This page uses frames, but your browser doesn't support them.</p> </body> </noframes> </frameset> </html> 而面包含的文件是webadmin.asp这个文件。主要由它提供录入新闻的每天更新界面,代码如下。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style TYPE="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> <base target="footnotes"> <title>新闻发布系统管理页</title> </head> <body topmargin="8" leftmargin="8"> <p align="center"><font face="楷体_GB2312" size="6" color="#FF0000"><strong>新闻发布系统WEB管理页</strong></font></p> <div align="center"><center> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%"><form method="POST" action="addnew.asp"> <table border="0" width="100%" height="126" cellpadding="0"> <tr> <td width="100%" height="9" colspan="2" bgcolor="#E7E7E7"><div align="center"><center><p><font size="3"><strong>添加每天新闻内容</strong></font></td> </tr> <tr align="center"> <td width="15%" height="8" bgcolor="#E7E7E7"><div align="left"><p>新闻标题:(必须)</td> <td width="85%" height="8" bgcolor="#F9F9F9"><div align="left"><p><input type="text" name="title" size="73"></td> </tr> <tr align="center"> <td width="15%" height="34" bgcolor="#E7E7E7" valign="top"><div align="left"><p>新闻内容:(必须)</td> <td width="85%" height="34" bgcolor="#F9F9F9"><div align="left"><p><textarea rows="13" name="comment" cols="72"></textarea></td> </tr> <tr align="center"> <td width="15%" height="17" bgcolor="#E7E7E7"><div align="left"><p>图片连接地址:</td> <td width="85%" height="17" bgcolor="#F9F9F9"><div align="left"><p><input type="text" name="pic" size="73"></td> </tr> <tr align="center"> <td width="15%" height="17" bgcolor="#E7E7E7"><div align="left"><p>新闻类型:(必须)</td> <td width="85%" height="17" bgcolor="#F9F9F9"><div align="left"><p><select name="class_name" size="1" value="<%=session("class_name")%>"> <option value="市场风云">市场风云</option> <option value="IT新闻">IT新闻</option> <option value="广州市场">广州市场</option> <option value="保 留">保 留</option> <option value="保 留">保 留</option> </select></td> </tr> <tr align="center"> <td width="15%" height="17" bgcolor="#E7E7E7"><div align="left"><p>是否首页:</td> <td width="85%" height="17" bgcolor="#F9F9F9"><div align="left"><p><input type="checkbox" name="head" value="YES"></td> </tr> <tr align="center"> <td width="100%" height="16" colspan="2" bgcolor="#E7E7E7"><div align="center"><center><p><input type="submit" value="提 交" name="B1"> <input type="reset" value="清 除" name="B2"></td> </tr> </table> </form> </td> </tr> </table> </center></div><div align="center"><center> <table border="0" width="750" cellpadding="0"> <tr> <td width="740"></td> </tr> <tr> <td width="740"><form method="POST" action="set_disp.asp"> <table border="0" width="100%" cellpadding="0"> <tr> <td width="100%" bgcolor="#E7E7E7" colspan="5"><div align="center"><center><p>首页新闻显示条数设置</td> </tr> <tr> <td width="20%"><div align="center"><center><p>广州市场</td> <td width="20%"><div align="center"><center><p>市场风云</td> <td width="20%"><div align="center"><center><p>IT新闻</td> <td width="20%"><div align="center"><center><p>保 留</td> <td width="20%"><div align="center"><center><p>保 留</td> </tr> <tr> <td width="20%"><div align="center"><center><p><input type="text" name="disp_1" size="10" value="<%=application("disp_1")%>"></td> <td width="20%"><div align="center"><center><p><input type="text" name="disp_2" size="10" value="<%=application("disp_2")%>"></td> <td width="20%"><div align="center"><center><p><input type="text" name="disp_3" size="10" value="<%=application("disp_3")%>"></td> <td width="20%"><div align="center"><center><p><input type="text" name="disp_4" size="10" value="<%=application("disp_4")%>"></td> <td width="20%"><div align="center"><center><p><input type="text" name="disp_5" size="10" value="<%=application("disp_5")%>"></td> </tr> <tr> <td width="100%" bgcolor="#E7E7E7" colspan="5"><div align="center"><center><p><input type="submit" value="提 交" name="B1"> <input type="reset" value="清 除" name="B2"></td> </tr> </table> </form> </td> </tr> <tr> <td width="740"></td> </tr> <tr> <td width="740"><font color="#FF0000">附注</font> 新闻标题:即为显示在主页中的连接标题,因此不可省略。</td> </tr> <tr> <td width="740"> 新闻内容:为点击标题连接后窗口所打开显示的新闻内容,也不允许省略。</td> </tr> <tr> <td width="740"> 新闻图片:新闻包含图片,请把图片地址连接复制在此,以便显示图片</td> </tr> <tr> <td width="740"> 新闻类型:选择新闻在不同栏目中显示的位置</td> </tr> <tr> <td width="740"> 是否首页:如首页的综合新闻包需含图片,请复选此项</td> </tr> <tr> <td width="740"><p align="center"><a href="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") '判断传过来的参数符不符合要求 if request.form("title")="" then response.redirect "delete.asp" end if if request.form("comment")="" then response.redirect "delete.asp" end if if request.form("class_name")="" then response.redirect "delete.asp" end if select case request.form("class_name") case "市场风云" class=1 case "IT新闻" class=2 case "广州市场" class=3 case "保 留" class=4 case "保 留" class=4 end select '连接数据库 %> <!--#include Virtual="/news/data/data.inc"--> <% Set rs = Server.CreateObject("ADODB.Recordset") sql="select * from data order by news_id ASC" rs.open sql,conn,3,2 '查找编号 if rs.bof then reco=0 else rs.movelast reco=Clng(rs("news_id"))+1 end if rs.addnew rs("news_id")=reco if request.form("head")="YES" then rs("news_head")=-1 end if rs("news_class")=class rs("news_class_name")=request.form("class_name") if request.form("pic")<>"" then rs("news_pic")=request.form("pic") rs("news_title")=request.form("title")&"(图文)" else rs("news_title")=request.form("title") end if if request.form("head")="YES" then rs("news_head")=-1 end if tmpmess=request.form("comment") tmpmess=replace(tmpmess,chr(10)," <br>") tmpmess=replace(tmpmess,"<","《") tmpmess=replace(tmpmess,">","》") tmpmess=replace(tmpmess,"《br》","<br>") rs("news_comment")=tmpmess rs("news_year")=year(Date) rs("news_month")=month(Date) rs("news_day")=day(Date) if Instr(Time,"下午")>0 then tmp=left(right(Time,8),2)+12 rs("news_time")=tmp&right(Time,6) else rs("news_time")=tmp&right(Time,8) end if rs("news_delete")=0 rs.update rs.close response.redirect "delete.asp" %> 程序中首先判断了提交的新闻是否合符条件,比如新闻标题是不能为空的,而换行符也得转换为html语句的br,否则不能正常地显示出新闻的格式,而这里采用了一个包含文件data.inc,它的用处主要是用于连接不同的数据库,所以asp程序都通过包含这个文件来指定数据源,那么当更改使用别的数据库时,只需要更改这个文件,就能方便地实现来不同数据库间的切换,是不是十分方便呢? 以下的data.inc文件的内容。 <% Set conn = 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小时来计算的,而NT Server则使用12小时,另外加上“上午”和“下午”来表示,因此需要作出少许的更该处理。 程序处理完毕后,重新导向delete.asp这个asp文件,用以刷新新闻数据库内的显示,那么每提交一条新闻资料,我们马上可以看见执行的结果是否成功了。 以下是delete.asp的文件内容。 <% @language="vbscript" %> <% response.buffer=true Response.Expires=0 %> <!--#include Virtual="/news/data/data.inc"--> <% Set rs = Server.CreateObject("ADODB.Recordset") sql="select * from data order by news_class ASC,news_id Desc" 'rs.PageSize=100 rs.open sql,conn,3,2 %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>新闻数据库中所存的资料</title> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> <style TYPE="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> <meta name="Microsoft Border" content="none"> </head> <body> <form method="POST" action="delete.asp"> <table border="0" width="750" cellpadding="0"> <tr> <td width="750" bgcolor="#EBEBEB" colspan="2"><div align="center"><center><p><font size="3"><strong>新闻数据库中所存的资料</strong></font></td> </tr> <% do while not rs.eof %> <tr align="center"> <td width="112" bgcolor="#EBEBEB">是否删除:<%if rs("news_delete")=-1 then%> <input type="checkbox" name="<%=rs("news_id")%>" value="ON"> <%else%> <input type="checkbox" name="<%=rs("news_id")%>" value="OFF"> <%end if%> </td> <td width="638" bgcolor="#FAFAFA" align="left"><%if rs("news_class")=1 then%> <font color=red>市场风云</font> <%end if%> <%if rs("news_class")=2 then%> <font color=red>IT新闻</font> <%end if%> <%if rs("news_class")=3 then%> <font color=red>广州市场</font> <%end if%> <%if rs("news_class")=4 then%> <font color=red>保 留</font> <%end if%> <%if rs("news_class")=5 then%> <font color=red>保 留</font> <%end if%> <%=rs("news_title")%></td> </tr> <% rs.movenext loop %> <tr align="center"> <td width="100%" colspan="2" bgcolor="#EBEBEB"><center><p><input type="submit" value="提 交" name="B1"> <input type="reset" value="清 除" name="B2"></td> </tr> </table> </form> </body> </html> <% if Request.ServerVariables("REQUEST_METHOD")="POST" then if not rs.bof then rs.movefirst end if do while not rs.eof n=trim(cstr(rs("news_id"))) if request.form(n)="OFF" then rs.delete rs.update end if rs.movenext loop response.redirect "delete.asp" rs.close end if response.flush %> delete.asp也是一个构成webadmin.htm的管理页面的asp文件,它负责新闻数据库的标题显示,以便让您知道现在库用有些什么新闻。同时可以通过它来删除新闻记录,那么我们在使用新闻的主页里反应出来的结果就是动态的了,新闻可以在线添加和删除。令外一个附加的asp程序 set_diap.asp是用于控制每一类新闻在主页上显示的数目的,它主要使用application对象来设定。 <% @language="vbscript" %> <% response.buffer=true Response.Expires=0 application("disp_1")=request.form("disp_1") application("disp_2")=request.form("disp_2") application("disp_3")=request.form("disp_3") application("disp_4")=request.form("disp_4") application("disp_5")=request.form("disp_5") response.redirect "delete.asp" %> 完成了上面的程序,我们的新闻发布系统就可以在线添加和删除,设置显示等的功能来,需要加上搜寻功能,也可以在这个基础上加上。下一节我们来分析,如何;令新闻代码嵌入不同的网页,实现真正的在线新闻功能。 (三)把新闻代码插入你的页面 最好的新闻发布,当然是为网站本身定做的,那样才能与主页风格一致,但如此一来,新闻发布系统有缺乏了通用性了,不能移值到别的网站上使用,有得必有失,在这个基础上关键是找一个平行点。综合来考滤,最好的做法是与页面分离,那样就可以不影响网页的外观,而也能达到很好的效果,在使用新闻的网页上我们可以通过放置一条这样的script语句来调用新闻代码 <script language="JavaScript" src="http//xxx.com.cn/special/linux/lnews/autoup.asp"> 大家可以到这里看看效果 现在请大家看看autoup.asp的代码。 <% @language="vbscript" %> <!--#include Virtual="/news/data/data.inc"--> <% Set rs = Server.CreateObject("ADODB.Recordset") sql="select * from data Order by news_id Desc" rs.open sql,conn,3,2 if rs.bof then response.end end if dispmess="<table border=0 width=100% cellpadding=0>" rs.movefirst disp="" count=0 disp="<tr><td width=100% ><b>广州市场</b></td></tr>" do while not rs.eof '广州市场 if Cint(rs("news_class"))=3 then disp=disp&"<tr><td width=100% ><a href=http://www.aaaaa.com.cn/news/read.asp?news_id="&rs("news_id")&" target=_blank>>>"&rs("news_title")&"</a>(<font size=1>"&rs("news_year")&"-"&rs("news_month")&"-"&rs("news_day")&" "&rs("news_time")&"</font>)</td></tr>" if count>=10 then 'clng(application("disp_1"))-1 then exit do end if count=count+1 end if rs.movenext loop disp=disp&"<tr><td width=100% align=right>【更多新闻...】 </td></tr>" dispmess=dispmess&disp rs.movefirst disp="" count=0 disp="<tr><td width=100% ><b>市场风云</b></td></tr>" do while not rs.eof '市场风云 if Cint(rs("news_class"))=1 then disp=disp&"<tr><td width=100% ><a href=http://www.aaaaa.com.cn/news/read.asp?news_id="&rs("news_id")&" target=_blank>>>"&rs("news_title")&"</a>(<font size=1>"&rs("news_year")&"-"&rs("news_month")&"-"&rs("news_day")&" "&rs("news_time")&"</font>)</td></tr>" if count>=10 then 'clng(application("disp_2"))-1 then exit do end if count=count+1 end if rs.movenext loop disp=disp&"<tr><td width=100% align=right>【更多新闻...】 </td></tr>" dispmess=dispmess&disp rs.movefirst disp="" count=0 disp="<tr><td width=100% ><b>IT新闻</b></td></tr>" do while not rs.eof 'IT新闻 if Cint(rs("news_class"))=2 then disp=disp&"<tr><td width=100% ><a href=http://www.aaaaa.com.cn/news/read.asp?news_id="&rs("news_id")&" target=_blank>>>"&rs("news_title")&"</a>(<font size=1>"&rs("news_year")&"-"&rs("news_month")&"-"&rs("news_day")&" "&rs("news_time")&"</font>)</td></tr>" if count>=50 then 'clng(application("disp_3"))-1 then exit do end if count=count+1 end if rs.movenext loop disp=disp&"<tr><td width=100% align=right>【更多新闻...】 </td></tr>" dispmess=dispmess&disp dispmess=dispmess&"</table>" dispmess="document.write('"&dispmess&"')" %> <%=dispmess%> 通过定制这段代码,就能制作出符合您要求的网页显示格式。 添加,删除,显示都讲解完了,最后一项,就是把新闻的详细内容显示出来。 当用户点击新闻标题,就打开disp.asp文件,同时使用GET这种方式来把参数传递过去,我们看看disp.asp的文件内容 <% @language="vbscript" %> <!--#include Virtual="/news/data/data.inc"--> <% Set rs = Server.CreateObject("ADODB.Recordset") sql="select * from data where Cstr(news_id)='"&Cstr(request.querystring("news_id"))&"'" rs.open sql,conn,3,2 %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title></title> </head> <body topmargin="8" leftmargin="8"> <div align="center"><center> <table border="0" width="600" cellpadding="0" cellspacing="0"> <tr> <td width="100%"></td> </tr> <tr> <td width="100%" bgcolor="#E6E6E6"><table border="0" width="100%" cellpadding="0"> <tr> <td width="100%" bgcolor="#D2E8FF"><p align="center"><b><%=rs("news_title")%></b></td> </tr> <tr> <td width="100%" bgcolor="#FBFDFF"><table border="0" width="100%" cellpadding="0"> <tr> <td width="100%"><p align="right">(update:<%=rs("news_year")%>-<%=rs("news_month")%>-<%=rs("news_day")%> <%=rs("news_time")%>) </td> </tr> <tr> <td width="100%"><p align="center"><% if rs("news_pic")<>"" then %> <img src="<%=rs("news_pic")%>"> <% end if %> </td> </tr> <tr> <td width="100%"><div align="center"><center><table border="0" width="90%" cellpadding="0"> <tr> <td width="100%"><%=rs("news_comment")%> </td> </tr> </table> </center></div></td> </tr> </table> </td> </tr> <tr> <td width="100%" bgcolor="#D2E8FF"><p align="center"><a href="javascript:window.close()">关闭窗口</td> </tr> </table> </td> </tr> <tr> <td width="100%"></td> </tr> <tr> <td width="100%"></td> </tr> </table> </center></div></a> </body> </html> 至此,新闻发布系统已能投入使用,试试看,是不是很方便,很容易就能增添每天的新闻内容了。下一节。我们将为新闻发布系统加入(标题/全文)检索功能,把它制作得更为完美 紧接上节,我们的新闻系统已能完成日常的新闻在线添加,删除等的功能,但这还是不足够的,有的用户可能需要查找一下过往某一专题内容的相关新闻条目,而一个比教完善的新闻系统,当然少不免也的完成这个功能。 现在马上就为我们的新闻系统添加上(全文/标题)的检索功能吧,首先我们做一个检索表单,见下面的HTML代码,把这些代码放在需要新闻检索的web页面上。就可以供用户方便地完成新闻搜寻。 <form method="POST" action="http://XXX..com.cn/cgi-win/search/search.asp"> <p><select name="select" size="1"> <option selected value="search_1">新闻检索(标题)</option> <option value="search_2">新闻检索(全文)</option> </select><input type="text" name="key" size="20"><input type="submit" value="搜 索" name="search"></p> </form> 在这个FORM的基础添加上处理搜寻的ASP程序search.asp。在表单用我们用key这个参数来指示出需要匹配的字串,而select参数指定是基于全文搜索还是标题搜索。 现在进入程序处理部份,看看我们的search.asp程序。 *search.asp <% @language="vbscript" %> <% if request.form("key")="" then response.redirect "/" end if select case request.form("select") case "search_1" %> <!--#include Virtual="/cgi-win/search/news/data.inc"--> <% Set rs_1 = Server.CreateObject("ADODB.Recordset") sql="select * from data where instr(news_title,'"&request.form("key")&"')>0" sql=sql+" Order by news_id Desc,news_class ASC" rs_1.open sql,conn_1,3,2 case "search_2" %> <!--#include Virtual="/cgi-win/search/news/data.inc"--> <% Set rs_1 = Server.CreateObject("ADODB.Recordset") sql="select * from data where instr(news_comment,'"&request.form("key")&"')>0" sql=sql+" Order by news_id Desc,news_class ASC" rs_1.open sql,conn_1,3,2 end select if rs_1.bof then response.redirect "/" response.end end if rs_1.movefirst dispmess="<table border=0 width=100% cellpadding=0 cellspacing=0 class=a9>" disp="" do while not rs_1.eof if not rs_1.eof then disp=disp&"<tr><td><a href=http://www.aaaaa.com.cn/news/read.asp?news_id="&rs_1("news_id")&" target=_blank>>>"&rs_1("news_title")&"<font size=1>("&rs_1("news_month")&"-"&rs_1("news_day")&")</font></a></td></tr></p>" rs_1.movenext end if loop dispmess=dispmess&disp dispmess=dispmess&"</table>" 'dispmess="document.write('"&dispmess&"')" %> <%=dispmess%> 通过传入的KEY参数和select(全文或标题检索参数),生成一条SQL查询语句,分别在标题的数据库字段或在内容的字段中查找是否包含有key的字串,如过有的话就加如我们的结果记录集,最后把新闻标题显示出来。而输出界面当然可以满足您个人的需要,自己来定制,这里不采用分页来显示了。大家可以在这个新闻发布系统的基础上,结合您本身的需要,把它设计得更为完美。 至此,我们的这套个人网站自动新闻发布系统基本上制作完毕了
|