2016-05-28 3 views
-2

私は4つの入力(名前、開始日、終了日、理由)を持つ1ページ目のフォームを持っています。可変の日付範囲からの複数のエントリ

私は私がちょうどその異なる日付を取得するプロセスを取得する方法を知らないとMySQLに追加する方法を知っている日付範囲(STARTDATE、終了日)から毎日のために

をMySQLのにエントリを追加しますそれらを挿入する。

これは、日付範囲が毎回変更されるため、自動化する必要があります。

だから、Page1のユーザー選択に応じて、04/07/2018 - 09/07/2018または01/02/2017 - 02/02/2017になる可能性があります。 STARTDATEが2016年1月1日で、終了日は、私はすでに検索しました

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '01/01/2016', 'Holiday') 

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '02/01/2016', 'Holiday') 

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '03/01/2016', 'Holiday') 

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '04/01/2016', 'Holiday') 

INSERT INTO taken (`name`, `date`, `reason`) VALUES ('Joe Bloggs', '05/01/2016', 'Holiday') 

例えば、5回を追加したい2016年5月1日である場合は

ちょっととしては

$name = $_POST['name']; 

$startdate = $_POST['startdate']; 

$enddate = $_POST['enddate']; 

$reason = $_POST['reason']; 


INSERT INTO taken (`name`, `date`, `reason`) VALUES ('$name', '$date', '$reason') 

を次の非常に多くの方法を試みましたが、うまくいったり失敗したりしませんでした

この問題についての助けは素晴らしいでしょう。

+1

あなたが投稿このすでにhttp://stackoverflow.com/q/37500253/(私はクローズ)、あなたは同じ間違い '( '名前でした'、' date '、' reason ') 'はカラム名の修飾子に間違っていて、通常の引用符は' ''です。だから、再投稿しないでください。それは正確な複製です。 –

答えて

0

必要なすべての日付のテーブルを作成してください(See here how to do that)。

taken.date列をDATE型に変更してください。

は、その後、あなたは簡単な一括挿入を行うことができます。

INSERT INTO `taken` (`name`, `date`, `reason`) 
    SELECT 'Joe Bloggs', d.`date`, 'Holiday' 
    FROM `dates` d 
    WHERE d.`date` BETWEEN '2016-01-01' AND '2016-01-05'; 
関連する問題