0

我已经搜索并尝试了各种解决方案,但似乎没有得到这个。我有一个事件发生在每周的同一天。我希望能够将它添加到 MySQL 数据库中,以便在 16 个不同的周内输入相同的确切信息,这意味着只有 eventDate 字段会改变。

目前,添加事件的表单有一个标记为“重复”的复选框和一个用于初始事件日期的日期字段。然后,我尝试插入带有输入日期的初始记录,然后再循环插入另外 15 个插入,每次的日期设置为 1 周后,但其余数据与最初输入的数据相同。

我已经从表单提交中分配了变量,然后根据“重复”字段是否设置为 1 进行插入。我没有收到错误,但正在输入日期为 0000-00-00 的事件。当我删除“重复”测试并简单地进行直接插入时,它工作正常。

$id=$_POST["eventid"];
$eventHeadingTemp = $_POST["eventHeading"];
$eventHeading = mysql_escape_string($eventHeadingTemp);
$eventTypeId = $_POST["eventTypeId"];
$eventInfoTemp = $_POST["eventInfo"];
$eventInfo = mysql_escape_string($eventInfoTemp);
$eventDate = $_POST["eventDate"];
$recurring = $_POST["recurring"];
$eventStartTime = $_POST["eventStartTime"];
$eventImagesDelete=$_POST["eventImagesDelete"];

if ($id==0) {
    if ($recurring==1) {

    $SQL="INSERT INTO events (eventHeading, eventTypeId, eventInfo, eventDate, recurring, eventStartTime, eventImage, eventThumb) VALUES ('$eventHeading', '$eventTypeId', '$eventInfo', '$eventDate', '$recurring', '$eventStartTime', '$eventImage', '$eventThumb')";

        for ($i=0; $i<16; $i++) {

        $eventDate = strtotime('+1 week' , $eventDate);

        $SQL="INSERT INTO events (eventHeading, eventTypeId, eventInfo, eventDate, recurring, eventStartTime, eventImage, eventThumb) VALUES ('$eventHeading', '$eventTypeId', '$eventInfo', '$eventDate', '$recurring', '$eventStartTime', '$eventImage', '$eventThumb')";
        }
    }       

    else {
    $SQL="INSERT INTO events (eventHeading, eventTypeId, eventInfo, eventDate, recurring, eventStartTime, eventImage, eventThumb) VALUES ('$eventHeading', '$eventTypeId', '$eventInfo', '$eventDate', '$recurring', '$eventStartTime', '$eventImage', '$eventThumb')";
    }

}

更新:我偶尔会看到这个问题,但还没有回答,所以想补充一点,如果我没有清楚地提出问题,请随时这么说,并要求提供更多/更好的信息。非常感谢...

4

0 回答 0