Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从单个列存储和调用时间戳(或常规数据)_Php_Mysql_Timestamp - Fatal编程技术网

Php 从单个列存储和调用时间戳(或常规数据)

Php 从单个列存储和调用时间戳(或常规数据),php,mysql,timestamp,Php,Mysql,Timestamp,一般来说,我对编程相当陌生,所以我希望这个问题有一个简单的解决方案。我在发布前搜索了答案,但我不确定我在寻找什么 基本上,我有一个具有以下结构的数据库: Table: things Column 1- ID Column 2- Name Column 3- Year Column 4- Timestamps 我有很多格式为hh:mm:ss的时间戳集合,我想将它们存储在things表的第4列中。表中的每一项都有不同数量的时间戳,因此我认为将它们全部存储在一个列中(用逗号hh:mm:ss,hh:m

一般来说,我对编程相当陌生,所以我希望这个问题有一个简单的解决方案。我在发布前搜索了答案,但我不确定我在寻找什么

基本上,我有一个具有以下结构的数据库:

Table: things
Column 1- ID
Column 2- Name
Column 3- Year
Column 4- Timestamps

我有很多格式为hh:mm:ss的时间戳集合,我想将它们存储在things表的第4列中。表中的每一项都有不同数量的时间戳,因此我认为将它们全部存储在一个列中(用逗号hh:mm:ss,hh:mm:ss分隔)是有意义的,而不是将每个时间戳存储在自己的列中。从这里开始,我希望使用PHP我可以选择一个事物的名称并回忆它的年份和时间戳,将每个时间戳分离为它自己的变量

例如:

以下是我的问题

这是符合我需要的切实可行的解决方案吗?我有麻烦了 想一个更好的方法来做到这一点。。。 我将如何分离被分离的时间戳 通过数据库条目中的逗号并将其作为增量存储 变量?相反,我想您应该使用一个数组而不是多个数组 变量。 任何帮助都将不胜感激。正如我上面所说的,我是一个初学者,所以如果这是一个微不足道的问题,我很抱歉


谢谢大家!

我不会试图回答你的方法的优点。 在实际操作中,可以使用“分解”命令将字符串拆分为数组:

// where $col4 = "00:01:24,00:05:28,00:16:52"
$tsarray=explode(',',$col4);
// $tsarray = array("00:01:24","00:05:28","00:16:52");
然后将数组元素分配给各个变量的方法多种多样。 干杯。

设计问题

如果每个ID需要n个值,则不应将其存储在单个列中,而应将其拆分为两个表

表1:事物ID、名称、年份,其中ID是主键

表2:timestamps ID,timestamp,其中ID是来自“things”的外键,可以存储任意多个ID,时间戳对,时间戳是单个值

在您的示例中,表1如下所示:

ID, Name, Year
1, Thing20, 1997
ID, timestamp
1, 00:01:24
1, 00:05:28
1, 00:16:52
表2如下所示:

ID, Name, Year
1, Thing20, 1997
ID, timestamp
1, 00:01:24
1, 00:05:28
1, 00:16:52
实际解决方案

但是,如果不需要更改DB结构,则可以使用:

$ts = explode(',', $timestamp);

您将收到一个包含所有时间戳的数组,$ts variable

,因此我认为将它们全部存储在一列中并用逗号分隔是有意义的。参见规范化。