如何为一年中的每一天创建一个包含一行的表


How to create a table with a row for each day of a given year?

我需要开发一个日历,告诉你给定的一天是a、B、C还是D类型。所以基本上,用户请求给定一天的信息,网站告诉他们该天是a,B、C或D类型。因此,我将创建一个PHP函数,在数据库中检查给定一天,并返回其类型。

是否有可能(如果有,这是一种好的做法吗)用程序创建一年中每一天都有一行的mysql表,并用DATE类型来标识每一天?我该怎么做?

EDIT:最后,我使用了@nic的想法,但我用PHP对其进行了编码,并用它创建了一个可重用的函数。该函数需要一个字符串参数,其中包含YYYY格式的年份,并创建一个表,其中一年中的每一天都有一行,其中包含一个DATE字段,以及天、月、年和工作日的几个文本字段。

你可以在这里找到

我会说是的,这是一个很好的练习。您也可以在数据库中有一个数字表。它在某些情况下很方便。

查看Ronnis的答案,了解如何创建Calendar表,就像您想要的表一样。我所说的数表,正是指他创建的numbers表。

你可以把日期保存很多年,比如一百年。这意味着一个只有36500行的表。

最后,我使用了@nic的想法,但我用PHP对其进行了编码,并用它创建了一个可重用的函数。该函数需要一个字符串参数,其中包含YYYY格式的年份,并创建一个表,其中一年中的每一天都有一行,其中包含一个DATE字段,以及几个日期、月份、年份和工作日的字符串字段。

你可以在这里找到