さまざまな解決策を検索して試しましたが、これが得られないようです。毎週同じ曜日にイベントがあります。これを MySQL データベースに追加して、同じ正確な情報が 16 週間にわたって表示されるようにしたいと考えています。つまり、eventDate フィールドのみが変更されます。
現在、イベントを追加するフォームには、「繰り返し」というラベルの付いたチェックボックスと、最初のイベントの日付の日付フィールドがあります。次に、日付が入力された最初のレコードを挿入してから、毎回1週間後に日付が設定された別の15回の挿入をループしようとしていますが、残りのデータは最初に入力されたとおりです。
フォーム送信から変数を割り当て、「繰り返し」フィールドが 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')";
}
}
更新: この質問は時々表示されますが、まだ回答されていないので、問題を明確に提示していない場合は、お気軽にそう言って、より多くの/より良い情報を求めてください. 本当にありがとう...