欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-28 13:56:52
...

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

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

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

回复内容:

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

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

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

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

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

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

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

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

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;

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

相关标签: php mysql