我正在尝试创建一个应该每周同时重复的事件。
这就是我现在所拥有的:
用户将postString
发送到我的php脚本,如下所示:
weekly=true&dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00&usrId=1
然后我的带有php脚本的MySQL语句将这些数据插入到MySQL DB中。 这是我的插入功能:
public function newEvent($weekly, $dateFrom, $dateTo, $usrId) {
$sql = "insert into myTableName set weekly=?, dateFrom=?, dateTo=?, usrId=?";
$statement = $this->conn->prepare($sql);
if (!$statement)
throw new Exception($statement->error);
$statement->bind_param("ssss", $weekly, $price, $sport, $participants, $latitude, $longitude, $description, $dateFrom, $dateTo, $usrId, $title);
$returnValue = $statement->execute();
return $returnValue;
}
一切正常,但我的实际目标是:
当用户发送上述示例postString
并且 每周为真 时
我希望我的活动每周都能在同一时间重复,我希望能够在未来一周内搜索这个活动。
示例:我的weekly=true&dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00&usrId=1
是这样的,如果我运行此MySQL语句
SELECT *
FROM myTableName WHERE dateFrom >= 2016-10-08 13:00
AND dateTo <= 2016-10-08 16:00 LIMIT 0 , 30
我想从我的活动中获取数据,该数据在创建时具有时间dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00
。
我的问题是:
有什么方法可以完成我刚才描述的事情?
如果您需要更多详细信息,请告诉我们。 非常感谢你:))
答案 0 :(得分:2)
这个怎么样:
添加两列:vsDataENodeBFunction
,Skip(1)
,存储从星期一0:00开始的分钟数。
例如,weeklyDateFrom
为weeklyDateTo
,您只需将其存储为2016-10-01 13:00
,因为 5day + 6h = 126h = 7560min 。然后Sat. 13:00
为7560
。
如果您想搜索2016-10-01 15:00
,请执行以下操作:
7720
你会得到它,所有原始事件数据都不会丢失!
希望这有效!祝你有个美好的一天!