设为首页
收藏本站
最近更新

文章搜索
本类热门

首页 >> 网络编程 >> PHP >> PHP教程 >> 新闻正文 [字体: ] [打印文档]
LINUX环境中用PHP够建网站:新闻发布系统

文章作者:
责任编辑:rosan 录入时间:2007-1-22 23:49:57 来源:
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意.

百特科技[http://www.PCbyte.cn]专业的空间、主机提供商,域名注册绝对优惠!
  如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新闻界面,它还包括许多功能的控制和后台管理的强劲功能.
  
  那么这些功能内的子功能又如何调度分配呢?下面就来介绍一下各功能的调配控制.新闻系统的实现是简单的,但也可以说是非常复杂的.
  
  新闻系统可分为三大部分:管理员登入系统,新闻管理系统,用户浏览系统.整个过程是简单的:
  
  1.管理人员发布新闻-->数据库-->用户浏览新闻
  2.发现问题-->登入管理系统-->编辑修改新闻
  
  以上流程看似简单,但实现起来却并不是那么简单,这是个系统的开发,远比留言版的实现要复杂,但基本运作原理又与留言版相同.在新闻发布系统的重中之重又在于数据库的规划和管理系统的实现.
  
  现在来新闻都有些什么内容:新闻分类,信息本体.
  
  在数据库包函这两项内容于一个数据表内是可以实现的,但不经济,因此我们可用两个数据表来分别存储内容,一个专门存储新闻的分类,而另一个用来存储信息的本体.如何调用实现双表内容的共享呢?运用表关联来实现这个问题(这里并不介绍这方面的知识,读者可自行参考数据库相关的知识内容,靠自己努力得来的知识最有价值,不是吗?)
  
  下面要介绍的是管理功能的实现:
  1.首先是新闻的发布
  这是一系列的提交表单共同组成的,而这里又分两类,创建新闻分类和发布新闻;创建完新闻分类,然后再在各个分类中发布相关的新闻,很简单嘛!并不是这样的,想想所有的信息本体全都集中在一个数据表里,如何区分信息的分类,上面提到的表关联在这就非常重要了,当然也可不用这种方法,为每个分类创建一个独立的表也能解决问题,可是这样划算吗?维护性和可扩展性有如何呢?
  
  新闻分类和信息本体的相关调用引起了麻烦,对了,解决之道就是活用表关联.
  
  2.编辑,修改,删除的问题
  这是 php+mysql 知识的基本运用,实现这些功能并无困难,这里不作过多的介绍,只是要注意的是更改或删除一个分类时,该如何处理该分类下的信息本体呢?由于使用表关联,处理这些功能如同是在一个表内处理一般.
  
  3.多工处理
  但许多人在同时编辑一条新闻时会出现什么情况呢?情况就数据库只会存储最后编辑的内容,这种情况发生将意味着前面修改的人的辛苦白费了,多功处理就是解决这个问题的,采取的方法是先入为主的,即先进入编辑的拥有编辑权限,而后进入的只拥有浏览的权限直到编辑完成为止.这个功能很象 linux 的权限控制,不是吗?
  
  完成这个功能可用几种方法:1.用 cookie 来控制,2.在表内增加权控字段.当然用 cookie 更加简单些,cookie 实现的方法和流程是这样的:
  当有管理员进入编辑,设置 cookie ,编辑功能的程序段则判断 cookie 值,为空允许编辑,非空则拒绝编辑,退出编辑时则将 cookie 清空,如此循环往复;多工功能是个有效的功能,至少能减少时间上和人力上的浪费. www.xker.com()
  
  新闻浏览功能的实现很简单,加上翻页功能(本站已经介绍过了),强大的新闻系统基本完成,似乎少了个很重要的功能,不错就是搜索引擎,这个功能将会在以后详细介绍.
推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·打造简单的PHP&MYSQL留言板[1]
·LINUX环境中用PHP构建网站:用递归函数写论坛
·LINUX环境中用PHP构建网站:用户的登入认证
·LINUX环境中用PHP够建网站:新闻发布系统
·LINUX环境中用PHP构建网站:搜索引擎的实现
·电子邮局PHP应用篇——POP3邮件的收取(二)
·电子邮局PHP应用篇——POP3邮件的收取(一)
·PHP的应用——聊天室开发完全手册(三)
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论查看评论
姓名: