1.分析
我们在用 php 制作网站时,分类是很重要的,在分类下面又再分类这第二个分类称为次分类,而现在大多数网站分类只分到第三类:
第一分类(父分类)-->第二分类(子分类)-->第三分类(孙分类)
这种亲缘分类越多,程序和数据库的控制就越加的复杂困难.在同一级的分类处理和控制是非常的简单的,因为只需要一个数据库来记载这一级的分类就行了,如:系统,新闻等分类,在这一级上处理是很简单的,但对一个网站来说一级分类是不够的,还需要再分类,如:
系统-->linux,windows
新闻-->linux 新闻,windows 新闻
这样分类就清晰些了,至少让人明白了,系统包括 linux 和 windows,而新闻包括 linux 新闻和 windows 新闻,为了让信息资料更加清晰,于是再继续分类:
linux-->系统工具,内核,编程语言,开发工具
...
分类到了第 * ,信息资料的处理就更清晰了,也就是说为了很清晰地处理资料,分类越详细就越方便,这样即方便处理信息又方便网友目的明确地查找到需要的资料,但随着不断的细化分类,在程序和数据库的控制上就会越来越困难.
困难一:如何在数据库里处理这些互有关联的亲缘分类?
困难二:如何用 php 完成这种一目了然的关系?
这种分级多而细的分类是每个 php 程序员都必须解决的问题,因为制作一个好而出色的网站分类问题是不可避免的,而解决这个问题又是相当复杂的,其中最大的问题就是数据库的分类处理,因为如果数据库处理不当将会带来巨大的工作量甚至是不得不重新规划数据库...
这并不是夸张,因为很多人在数据库处理上就会采用一级分类建立一个数据库的做法,我当时也是采取这种方法处理分类的,因大多网站都是分到第 * ,所以数据库里只需三个分类数据库来进行处理.但是需要继续向下分类时,这种做法的弊端就显露出来了,因为越往下分,工作量,程序量将会巨增..
我要介绍的这种方法就是如何用一个分类数据库建立无限向下分级的分类方法,用过 windows 的读者都知道 windows 文件夹就可以建立无限分级的目录,可在目录下面继续建立目录,这样没完没了的分下去,Linux 的目录创建也有这种功能,我介绍的这个方法跟这种形式相同.
1234下一页阅读全文
猜你喜欢
- 由于项目收尾,最近忙着做一些方法的优化,整理了一些分享给大家。 当页面内有许多控件,我们在需要清空其值的时候,一个个清空未免太麻烦。于是写了
- Q: I am working with Oracle database 8.1.7 and I have written a JAVA c
- 刚刚登甲发来一个文章,看到只要一行代码,就可以把IE6弄死.<style>*{position:relative}&
- 翻译:用法:zeros(shape, dtype=float, order='C')返回:返回来一个给定形状和类型的用0填充
- 挖坟 交互设计(Interaction Design)产生于二十世纪八十年代,在1984年一次设计会议上,大名鼎鼎的英国交互设计师比尔·莫格
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 8 - Input Filtering Part
- Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 P
- 代码如下:'返回指定文件夹中文件的数目,传入值为被检测文件夹的硬盘绝对路径 function CountFile
- 1 逻辑数据库和表的设计数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序
- 在我们制作网页的时候会经常碰到一些需求,如果不知道方法,说不定会困扰我们半天。其实实现它们都很简单,下
- 今天要做个搜索,用到了时间比较函数!以前多是直接比较时间,查询语句有长效率又不高~~~后来用了DateDiff函数,在调试的时候发现了一些问
- 大家觉得在接手遗留代码时,见到什么东东是最让人感到不耐烦的?复杂无比的 UML ?我觉得不是。我的答案是,超过两个 else 的 if ,或
- 网页兼容测试,除了做不同浏览器的兼容测试,还要观察网页在不同分辨率下的表现情况。在页面中使用了CSS绝对定位,发现在宽屏下错位。随后测试非1
- 其实所有的死锁最深层的原因就是一个:资源竞争。表现一:一个用户A 访问表A(锁住了表A),然后又访问表B
- 本文实例讲述了JS+HTML5 canvas绘制验证码。分享给大家供大家参考,具体如下:css样式:<style>body{ &
- MySql5.0以后均支持存储过程,最近有空,研究了一把这个。格式:以下为引用的内容:CREATE PROCEDURE
- 客户端: <%@ Page Language="C#" AutoEventWireup="true&qu
- Expires 属性 Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区
- 大家都知道,Dreamweaver是是一款专业的网页设计工具,提供了许多方便、实用的功能,使得以前许多网页效果的实现从繁琐的代码
- 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时