ホームページ  >  記事  >  バックエンド開発  >  网站首页的不同板块是专门建数据表吗?

网站首页的不同板块是专门建数据表吗?

WBOY
WBOYオリジナル
2016-06-06 20:28:101061ブラウズ

网站首页的不同板块是专门建数据表吗?

网站首页的不同板块,有些是图片,有些包含标题加简介,有些只有标题,这些是专门建立数据表来存储的吗,如果是这样的话,好像这些不同的板块不能建在一个数据表。比如,图片板块需要存储标题、图片url、文章id,而其他的可能就不需要存储图片url,这样的话不同板块就需要不同的字段。

可能说得有点乱,就想问下网站首页的不同元素在后台是怎样存储的?

回复内容:

网站首页的不同板块是专门建数据表吗?

网站首页的不同板块,有些是图片,有些包含标题加简介,有些只有标题,这些是专门建立数据表来存储的吗,如果是这样的话,好像这些不同的板块不能建在一个数据表。比如,图片板块需要存储标题、图片url、文章id,而其他的可能就不需要存储图片url,这样的话不同板块就需要不同的字段。

可能说得有点乱,就想问下网站首页的不同元素在后台是怎样存储的?

一个表就好了。。为什么要多个表。。。
难道你后台还会有多个界面发文章吗?(发版块1的文章的界面,发版块100的文章的界面?)
一个表保存标题、图片、文章、版块位置,不就OK了?
同理,发布文章的时候,选择在哪个版块就行了。
类似这种思路,你懂的。

一个表就够了,用个字段来区分不同板块。

显示页面的时候取出来,按照板块分割成几个数组,塞给模板。

一个表搞定,你说的不需要储存图片URL,字段为空就行啦

原则上都可以。从极端看来:你都可以一条新闻建一个表,一张图片建一个表。然后慢慢往正常的来推:同一类的新闻一个表。然后再推:不同类的新闻也可用一个表,只需要增加一个字段说明各自属于哪个类别。等等。没有准确的答案,需要兼顾方便理解和增删改查效率这些方面。

sql存储树形结构,可以实现无限分级分类

<code class="sql">CREATE TABLE `typecho_contents` (
  `cid` int(10) unsigned NOT NULL auto_increment,
  `title` varchar(200) default NULL,
  `slug` varchar(200) default NULL,
  `created` int(10) unsigned default '0',
  `modified` int(10) unsigned default '0',
  `text` text,
  `order` int(10) unsigned default '0',
  `authorId` int(10) unsigned default '0',
  `template` varchar(32) default NULL,
  `type` varchar(16) default 'post',
  `status` varchar(16) default 'publish',
  `password` varchar(32) default NULL,
  `commentsNum` int(10) unsigned default '0',
  `allowComment` char(1) default '0',
  `allowPing` char(1) default '0',
  `allowFeed` char(1) default '0',
  `parent` int(10) unsigned default '0',
  PRIMARY KEY  (`cid`),
  UNIQUE KEY `slug` (`slug`),
  KEY `created` (`created`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;</code>

就这简简单单一张表实现很多扩展

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。