Linux操作系统中用PHP构建网站详解

善良的秦易轩

善良的秦易轩

2016-02-19 16:18

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享Linux操作系统中用PHP构建网站详解教程,希望对大家能有一点小小的帮助。

  如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新闻界面,它还包括许多功能的控制和后台管理的强劲功能。那么这些功能内的子功能又如何调度分配呢?下面就来介绍一下各功能的调配控制。新闻系统的实现是简单的,但也可以说是非常复杂的。

  新闻系统可分为三大部分:管理员登入系统,新闻管理系统,用户浏览系统。整个过程是简单的:

  1、管理人员发布新闻--数据库--用户浏览新闻

  2、发现问题--登入管理系统--编辑修改新闻

  以上流程看似简单,但实现起来却并不是那么简单,这是个系统的开发,远比留言版的实现要复杂,但基本运作原理又与留言版相同。在新闻发布系统的重中之重又在于数据库的规划和管理系统的实现。

  现在来新闻都有些什么内容:新闻分类,信息本体。在数据库包函这两项内容于一个数据表内是可以实现的,但不经济,因此我们可用两个数据表来分别存储内容,一个专门存储新闻的分类,而另一个用来存储信息的本体。如何调用实现双表内容的共享呢?运用表关联来实现这个问题(这里并不介绍这方面的知识,读者可自行参考数据库相关的知识内容,靠自己努力得来的知识最有价值,不是吗?)

  下面要介绍的是管理功能的实现:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  1、首先是新闻的发布

  这是一系列的提交表单共同组成的,而这里又分两类,创建新闻分类和发布新闻;创建完新闻分类,然后再在各个分类中发布相关的新闻,很简单嘛!并不是这样的,想想所有的信息本体全都集中在一个数据表里,如何区分信息的分类,上面提到的表关联在这就非常重要了,当然也可不用这种方法,为每个分类创建一个独立的表也能解决问题,可是这样划算吗?维护性和可扩展性有如何呢?

  新闻分类和信息本体的相关调用引起了麻烦,对了,解决之道就是活用表关联。

  2、编辑,修改,删除的问题

  这是 php+mysql 知识的基本运用,实现这些功能并无困难,这里不作过多的介绍,只是要注意的是更改或删除一个分类时,该如何处理该分类下的信息本体呢?由于使用表关联,处理这些功能如同是在一个表内处理一般。

  3、多工处理

  但许多人在同时编辑一条新闻时会出现什么情况呢?情况就数据库只会存储最后编辑的内容,这种情况发生将意味着前面修改的人的辛苦白费了,多功处理就是解决这个问题的,采取的方法是先入为主的,即先进入编辑的拥有编辑权限,而后进入的只拥有浏览的权限直到编辑完成为止。这个功能很象 linux 的权限控制,不是吗?

  完成这个功能可用几种方法:1。用 cookie 来控制,2。在表内增加权控字段。当然用 cookie 更加简单些,cookie 实现的方法和流程是这样的:

  当有管理员进入编辑,设置 cookie ,编辑功能的程序段则判断 cookie 值,为空允许编辑,非空则拒绝编辑,退出编辑时则将 cookie 清空,如此循环往复;多工功能是个有效的功能,至少能减少时间上和人力上的浪费。

  新闻浏览功能的实现很简单,加上翻页功能(本站已经介绍过了),强大的新闻系统基本完成,似乎少了个很重要的功能,不错就是搜索引擎。能够拥有强大的搜索引擎是每个网站的心愿,而一个强大的搜索引擎的制作又是相当复杂和困难的,它涉及到效率,准确性和速度等诸多方面。

  这里介绍的搜索引擎不会涉及到这么深的研究,只是针对特定的内容进行精确的查询。一个功能复杂而强大的搜索引擎要用到很多的程序和数据库技巧,我们就先从简单的搜索引擎开始介绍。搜索引擎的工作状况是怎样的呢?它接收给出的关键字,然后在给出的范围内进行搜索,然后将搜索的结果返回。

  给出的关键字可能在信息内容的任何位置,引擎又是如何进行查找的呢?在这要用到如下的数据库语句:

     select * from table where (name like '%".$keyword."%');

  name 是查找的具体位置,一般放字段名,like '%".$keyword。"%' 是模式匹配,就是在内容中查找有无 $keyword。看个例子:

  在数据表 news 查找包含关键字 good 的所有标题:

     select * from news where (title like '%good%');

  这是个精确查找,能够在数据库内找出所有带 good 的 title 出来,还有一种模糊查找:

    select * from news where (title like '%good');

  这样也可查找出结果。

  假设 news 里包含 title(标题),message(内容),user(用户) 等的字段,上面的查找范围就太狭窄了,因为只对 title 进行了查找,要对其它内容进行查找又不想操作太复杂该如何处理呢?

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  我们注意到在程序里任何变动的值都用变量来进行处理,在这这个方法一样行得通,可将想要搜索的范围作为变量进行传送,这样就有如下的数据库语法了:

    mysql_query("select * from news where ($name like '%".$keyword。"%'));

  $name 存放的就是传送过来的字段变量的值,而这种可变的值通过 html 的 select 下拉提交表单来完成。如果想要将搜索结果限制在一定的时间范围内又该如何实现呢?如想要查找 5 天之内的信息。还记得曾在 cookie 介绍中用到的数据库语法吗?

  对了,该联合的语法如下:

    mysql_query("select * from news where ($name like   '%".$keyword。"%') and timedate_sub('$time',interval 5 day)");  

  其中 $time 为查找的现在时间:$time=date('Y-m-d H:i:s'); time 是数据库存储信息时间的字段。现在将 $old 来代替 5:

    mysql_query("select * from news where ($name like   '%".$keyword。"%') and timedate_sub('$time',interval $old day)");  

  同样 $old 的值通过 select 提交表单将限定的不同时间提交过来,便完成了这个颇为强大的搜索引擎。一些更为强大的搜索引擎需要程序技巧上的配合,读者可通过以上的原理自行扩展试验。

展开更多 50%)
分享

猜你喜欢

Linux操作系统中用PHP构建网站详解

Web开发
Linux操作系统中用PHP构建网站详解

Web技术进阶—PHP构建网站

PHP
Web技术进阶—PHP构建网站

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

构建网站合理规划CSS文件

Web开发
构建网站合理规划CSS文件

理解AJAX工作原理 构建网站的有效方法

Web开发
理解AJAX工作原理 构建网站的有效方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux操作系统内核编译详解

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux操作系统内核编译详解

Linux操作系统下IPTables配置方法详解

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux操作系统下IPTables配置方法详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

qq情侣唯美爱情网名:红颜无罪只是太美

qq情侣唯美爱情网名:红颜无罪只是太美

清理VC工程

清理VC工程
下拉加载更多内容 ↓