您的当前位置:首页正文

简单新闻发布系统==

2021-07-31 来源:好走旅游网


简单新闻发布系统 首先我们来确定该新闻系统的前台和后台的功能:

新闻发布系统前台部分构成:首页上显示最新更新的5条新闻,点击新闻的标题察看详细信息(包括新闻的内容,相关连接),另外还有一个“更多”的连接,指向一页可以每页显示10条记录。

新闻发布系统后台部分构成:通过一个密码验证页面登录进功能选择页面。功能选择页面提供增加、删除、修改管理用户和增加、删除、修改新闻的跳转。上海育路网是复旦网院指定网上报名平台。

第一步:创建一个数据库。

创建的过程请看前面介绍的内容,这里只给出数据库表的结构。数据库有两个表构成,一个为管理用户表,名为admin;另一个为新闻纪录表,名为article。见下图表结构:

除了表article中title取文本类型,字段大小为200;insert_time去默认值为:=Now();src取文本类型,字段大小为255外,其余如图,均取access的默认值。

第二步:保存好这个刚创建的数据库,为这个数据库创建一个数据源了。

数据源名称创建好了之后,让我们打开Ultradev,新创建一个站点,取名为News_Data,按照前面的方法为这个站点创建好数据库连接,然后我们就可以开始动手了!一切都是这么简单!

第三步:创建首页。

首页就是现实最新更新的5条新闻纪录。利用我们学到的Ultradev显示纪录的功能,很容易你就能创建好如下图的页面:上海育路网是复旦网院指定网上报名平台。

怎么显示最新更新的5条记录呢?让我们来看看创建记录集的对话框:

如果我们按照一般创建记录集的方法,在上图中的SQL栏中显示的内容就会是:

SELECT ID,title,insert_time (我们只需要显示新闻的标题和记录时间,而新闻内容不需要现实,所以不用选择content这个字段)

FROM article

我们将她修改成上面的样子。top 5表示我只选取5条记录,而ORDER BY ID DESC则表示选择纪录时是按照ID这个字段从后往前取(DESC表示降序,而ID这个字段是自动编号的,即默认是升序的),这样就实现了我们要去最新更新的5条记录的想法。

在添加server behaviors的repeat region行为时,选择显示所有记录(因为我们只取了5条记录)。细心的朋友这时候肯定也想到了,哎呀,我也可以通过这里的一页显示多少条记录来实现我要去多少条记录的想法啊!对,没错,你可以选择每页显示5条记录,这样也可以达到我们要实现的效果---但是别忘了,ORDER BY ID DESC是必不可少的

然后我们再选中标题单元格中的{RECORDSET1.title},对它添加一个server behaviors----Go To Detail Page,如图:

我们的目的就是为了要向detail.asp这个页面传递一个ID值,使其能够正确的取出我们想要的记录。上海育路网是复旦网院指定网上报名平台。

第四步:再添加一个More的连接,指向more.asp,以显示更多的新闻纪录。

页面效果如图所示:

在more.asp这个页面里,我们只需简单的将刚才的首页面修改一下就能使用了。打开创建记录集的对话框,去掉我们添加的top 5(这样就将取出数据库表里面的所有记录),然后修改repeat region每页显示的条数为10条,再删掉more的连接,然后插入Insert -> Live Objects ->Recordset Nagavition Bar,这样我们就能翻页显示新闻了。页面如图:

第五步:进行新闻详细页面(即detail.asp)的制作。

像上面我们讲到的一样,我们在detail.asp页面中最重要的事情就是获得上一个页面传递过来的值,这里是ID=x。如图:

第六步:做一些表格,将创建好的记录集的项目一个个拖进去就行了。

到了这里我们的前台部分的页面就完成了,接下来就要进行后台管理页面的制作了。

本来,正确的顺序应该是先制作好后台管理页面,做到能够正确的添加、删除、编辑数据的时候才进行前台页面的制作。因为毕竟前台页面做的就只是数据显示而已,如果连数据都不能添加,那你前台做得再漂亮也没用,而且如果在制作后台管理页面可以不用太追求页面美观,一旦出错要重新修改时也快,不像前台,一旦页面设计好了,而要改动时是很辛苦的(尽管Ultradev已经使这项工作变得相对简单了,但还是容易出问题)。不过因为我们这些页面比较简单,数据结构也是简单的,不会出错,所以就不强调这一点了。但是朋友们以后做的时候最好还是按照后台-〉前台这样的顺序来做比较好。

后台管理页面可以分为三部分:数据添加;数据编辑、删除;登陆验证

第一步:我们先从数据添加做起。

通过前面的学习我们知道,在Ultradev中制作一个数据添加的页是在简单不过的了,只需要 Insert -> Live Objects -> Recordset Insertion Form就行了。如图,是添加新闻的页面,添加管理员用户也类似,就不多讲了:

创建完成后,如图:

这是添加新用户的页面:

打开浏览器看看效果:

但是我们的问题来了。当你添加晚了数据后,从首页打开相应的详细信息页面,这时候你就将看到刚才添加时还段落分明的数据现在挤成一团。原先的分段没掉了!

所有使用UltraDev软件的网友一定遇见过在asp页面上的文字从数据库导出后挤成一团的现象,起初输入的空格和换行都没有了。因为在asp语句中根本没有处理数据库中

的空格和换行。当然,学过asp编程的网友可以自行加入代码来转换数据库中的空格和换行成为html代码,或者还可以在文字提交进入数据库时先将空格和换行换成html代码然后输出。但是不管是哪一种方式对于没有学过asp的网友无疑都是如同恶梦一般。即使学会转换那也得需要在每个asp页面中手工修改源码,既费时又费力,长久一来一直没有非常方便的解决方法。

怎么办?呵呵,不急,这里就要用到我们前面讲过的插件功能了。

在这里我们将要使用到一个插件---Spdesign format来帮助我们实现一个功能(点击这里下载插件)。

UltraDev插件安装

接下来我向各位推荐一款可以解决这个难题的UltraDev插件: 使用方法很简单,只需在选择动态数据后应用该插件的命令即可完成空格和换行的格式化。

插件安装后如图

怎么应用这个插件呢?很简单,见下图,是不是一目了然? *_\"

应用了插件后,再察看我们的页面,啊,是不是你想要的效果呢?

添加纪录的页面是相对比较简单的,如果你认真阅读了我们前面讲的内容并作过一些练习,相信你很快就能够做出来的。好,接下来,我们要讲的是纪录的编辑和删除了。上

海育路网是复旦网院指定网上报名平台。

前面我们已经分析过,要进行纪录的编辑和删除,其实就是从一个页面传递一个值到另外一个页面,然后拿另外一个页面就根据这个传递过去的值取出相应的唯一的那条记录来施加编辑、删除的行为。所以,我们首先要制作一个页面,作为传递值用。这个页面很简单,其实就是一个数据显示页面,不过添加了两个连接: 修改 删除 选中这两个连接,施加server bahaviors中的Go To Detail Page行为:分别是change_article.asp和del_article.asp两个页面(这里我们以编辑、删除新闻作为例子,用户的管理也是一样的)

最后页面如图所示:

在浏览器中显示效果:

删除的页面怎么做呢?咦?忘了我们上面讲的吗?用command对象,很简单就完成了:

测试一下先。删掉我们刚刚编辑过的那条数据,嗯,也很正常

一般我们添加、删除、编辑完了数据之后都会有一些提示,或者要跳转到另外一个页面去。比如我们删除操作(del_article.asp)完成后要跳回数据显示页面,怎么办?用html里面的refresh标记。呵呵,是不是突然拍拍脑袋有恍然大悟的感觉。老是在asp中转来转去,html的东西都忘了。上海育路网是复旦网院指定网上报名平台。

Insert -> Head Tags ->Refresh ,如图:

其实这个跳转功能比asp中的redirect是要好的,因为有些旧浏览器或者netscape对redirect支持的不是很好,有时候不能正常的跳到你想要的页面。

因篇幅问题不能全部显示,请点此查看更多更全内容