Dreamweaver UltraDev打造生成静态页的新闻系统3

2008-02-23 06:58:55来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  看完了前面的2章,相信你已经能够开发这样一个静态页新闻系统了。但是,对于一个完整意义上的新闻系统来说,这些是远远不够的。还有很多功能,比如:在新闻内容中插入图片、实现新闻分类、可以多选的模板等,当然你可以为你的新闻系统加上很多的功能,但有一个原则:让用户方便的管理和操作。任何的功能都是围绕用户的需要的使用习惯来的,切记切记!

  也许你会问,我们为什么要做这些新闻分类、模板多选等烦琐的事情呢?小田在刚开始做WEB程序开发的时候,和你的想法一样,而且对自己做的很容易满足!但是客户的要求往往是不根据你的想法而定的,他们往往在程序完成后或是开发的后期,提出一些另你很头疼的要求,使得你要更改你的程序,动动大手术。所以要在前期就了解客户的要求和使用习惯,并能想到他们可能提出的变化。比如:今天你的新闻系统做好了,客户突然提出要多一个新闻栏目,而且样式要不同的!!这时候你是瞪大眼睛看着他呢?还是找个地洞钻?还是最后灰溜溜的回去改你的程序!!!

  我们开始做上面说的几个功能。先来看新闻分类。

  1、首先是数据库的设计,我们要在原来的数据库中添加一个表:T_Type,如图:

  在里面先输入几个类别,如图:

  打开原来的表T_News,在里面添加一个新的字段N_Type_ID(用来对应新闻分类的外关键字),如图:

  如果这时候,你的新闻系统已经有了内容,还要在原来的数据内容上写上这分类的ID,为了方便起见,还是删除原来的新闻记录吧!

  2、修改新闻添加页面add.asp页。打开add.asp页,我们在新闻内容的上面插入一个表格行,左列写“新闻类型”,右列插入一个List表单项,name="News_Type",如图:



然后,我们再添加一个新闻分类的记录集,如图:



接下来我们要把记录集放到List表单中去,选中List表单,打开Server Behaviors-->Dynamic Elements-->Dynameic List/Menu,如图:


  单击OK,好了,新闻类型的记录集已经放在List里了。现在保存add.asp,ok!

  3、修改保存新闻页面save.asp页。这个页面我们只要改2句代码就好了,由于这里的添加新闻内容到数据库的代码是从add.asp页copy过去的,大家做的时候,没有特殊情况的话,把代码在add.asp页调整好,再整个copy到save.asp页就好了。现在我们得改改save.asp页面。打开save.asp页的代码窗口,找到如下代码:


MM_fieldsStr = "N_Title|value|N_Content|value|N_FileName|value|

N_FilePath|value|N_Date|value"
MM_columnsStr = "N_Title|',none,''|N_Content|',none,''|

N_FileName|',none,''|N_FilePath|',none,''|N_Date|',none,NULL"


  替换为:


MM_fieldsStr = "N_Title|value|News_Type|value|N_Content|value|

N_FileName|value|N_FilePath|value|N_Date|value"
MM_columnsStr = "N_Title|',none,''|N_Type_ID|none,none,NULL|

N_Content|',none,''|N_FileName|',none,''|

N_FilePath|',none,''|N_Date|',none,NULL"


  我们可以里面的变化,多加了|News_Type|value|(这表示从表单名为News_Type的value值传递过来的)和|N_Type_ID|none,none,NULL(这表示添加到数据字段N_Type_ID),保存save.asp页面。

  ps:UD的插入数据是使用insert into来做的,你看,取Request.Form的值是把表单项名称等组个数组,然后用函数Split()分开,再取Request的值,这样做是为了软件使用的方便,大家做添加数据可别这么做哦!要晕死的,呵:)

  4、修改新闻浏览页browse.asp页。这个页我们学着将新闻记录和新闻类型关联起来,这里应用了SQL语句。打开browse.asp页,重新打开记录集rsBrowse,点击Advanced...(高级),修改一下原来的SQL语句,如图:


看,这里的SQL语句:INNER JOIN ....ON....。把两个表关联起来了,点击OK。我们看到原来的Recordset已经有了变化了,如图:



然后我们在原来的新闻标题后面加上新闻的类型,如图:



浏览一下,是不是有了新闻类型了!!(分类的修改等等这里就不一一复述了,大家自己动动手吧)

ps:这里我们看到添加新闻的时候,插入T_News表的新闻类型是T_Type的ID值。也许你会问,为什么不直接插入T_Type的T_TypeName的值呢?这样的话调用的时候也不用2个表关联了!但是这么做有一个问题,如果你突然要修改新闻分类的名称,到时候是不是要修改所有新闻记录里的新闻分类名称呢!那就太……(电脑前的小田已经晕过去了)

  好了,简单的新闻分类也有了,下面我们看看模板的多选。这个部分比较简单,有些和上面的新闻分类相似。

1、仍然是数据的修改。打开原来的表T_Example,我们添加个新的字段E_Type,如图:



在数据窗口填个类别进去,如图:



2、修改新闻添加页add.asp。和上面的添加一个新闻分类的List一样,再添加个模板类别的List(name="Example_Type"),把记录集放到这个List中去(value=ID)。这里就不详细说了。



3、保存新闻页save.asp页。这个页主要是要根据add.asp里的List(name="Example_Type")传递过来的值取出相应的模板记录。如图:



保存页面,现在模板的多选也有了,我们可以多做几个模板玩玩。

  很多网友问,如何在新闻里插入图片、超链接等等。比较常规的方法就是使用UBB代码,就像我们在论坛的文章里插入图片等一样,如:[img]http://www.webjx.com/images/logo.gif[/img],,这里需要你编写一段UBB代码,小田就不写了,给大家个写好的,点击这里下载。

  还记得我们前面save.asp页面中为了让新闻系统能够正常显示段落和空格的那段函数吗,现在打开它,并找到它:

<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Dreamweaver UltraDev打造生成静态页的新闻系统2

下一篇:视频教程:如何改变超级连接的颜色