PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-06-06 20:28:10 832浏览

网站首页的不同板块,有些是图片,有些包含标题加简介,有些只有标题,这些是专门建立数据表来存储的吗,如果是这样的话,好像这些不同的板块不能建在一个数据表。比如,图片板块需要存储标题、图片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;

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。