백엔드 개발 PHP 튜토리얼 Linux操作系统中用PHP构建网站详解_PHP教程

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

Jul 13, 2016 pm 05:33 PM
linux php 모직물 어떻게 전체 운영 체제 소식 짓다 ~의 체계 웹사이트 상해

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

  新闻系统可分为三大部分:管理员登入系统,新闻管理系统,用户浏览系统。整个过程是简单的:
  1、管理人员发布新闻-->数据库-->用户浏览新闻

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

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

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

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

  1、首先是新闻的发布

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

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

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

  这是 php(做为现在的主流开发语言)+MySQL(和PHP搭配之最佳组合) 知识的基本运用,实现这些功能并无困难,这里不作过多的介绍,只是要注意的是更改或删除一个分类时,该如何处理该分类下的信息本体呢?由于使用表关联,处理这些功能如同是在一个表内处理一般。

  3、多工处理

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

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

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

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

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


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

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508649.htmlTechArticle如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新闻界面,它还包括许多功能的控制和后台管理的强劲功能。那么这些...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구 DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구 Feb 19, 2025 pm 04:54 PM

DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? Mar 05, 2025 pm 05:57 PM

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까?

DeepSeek을 설치하는 방법 DeepSeek을 설치하는 방법 Feb 19, 2025 pm 05:48 PM

DeepSeek을 설치하는 방법

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까?

Gate Yishou App 다운로드 공식 웹 사이트 Gate.io 앱 공식 다운로드 Gate Yishou App 다운로드 공식 웹 사이트 Gate.io 앱 공식 다운로드 Feb 21, 2025 pm 02:54 PM

Gate Yishou App 다운로드 공식 웹 사이트 Gate.io 앱 공식 다운로드

Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까? Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까? Feb 21, 2025 pm 10:57 PM

Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까?

See all articles