嗨,我想做的是在我的数据库中插入一个时间段值,该值为注册周期,格式为:MONTH+STRTDAY+ENDDAY要获得这些值,我有3文本区域,并按如下方式组合它们:
$enrollp= $_POST['month'] . $_POST['strtday'] . $_POST['endday'];
(我现在不专注于SQL注入,但别担心,我读了一些PDO和准备好的声明文章)
我会这样插入:
$sql="Update tbl_enroll set enrollperiod='$enrollp'";
我的问题是注册周期应该有什么数据类型?以及我应该如何检索注册周期中的值,并在以下代码中使用:
if (date('m') == '09' && date('d') == '12' && date('d') == '12' && $allowed)
上面的行没有被修改以检查开始日期和结束日期
数据库关系(表)中的每个字段(属性)都必须是ATOMIC。
为什么要将这些值合并到一个字段中?这样做有合理的理由吗?
我会使用这种格式将其存储在数据库中:
工作日
因此,在从数据库中检索数据后,您可以使用explode
函数来使用"_"字符拆分这三个部分,如下所示:
$array = explode('_', $field);
$week = $array[0];
$strtday = $array[1];
$endday = $array[2];
字段的类型取决于要存储的数据,例如,如果"周"在1-53的范围内,而"strtday"answers"endday"在1-7的范围内则VARCHAR(6)可能对该字段很有用。