2016-11-04 2 views
0

私は1つのWebサイトに対して特定のタスクを1つしか持っていません。私は何かの配達を受けたいときにユーザーが選択しなければならない選択ボックスを持っています。したがって、最初の選択ボックスは数週間、周波数は2番目、最後は周波数に基づいて日をチェックすることができます。次の数週間で選択した日にMySQLにデータを挿入します

したがって、クライアントは、月曜日、水曜日、金曜日の3週間に3回、週に3回配送を希望します。

どのように私はすべての配達を格納するいくつかのテーブルにそれを挿入するPHP関数を作成する必要がありますか?

これは、フォームの写真です:

enter image description here

今私は、2週間例えば3回を選択し、そのための3日間をチェックする必要があります。

最後に、私はmysqlテーブルで6行を取得する必要があります。

ID DAY DATE TITLE 

1. monday - 07.11 - delivery one 
2. wednesday - 09.11 - delivery two 
3. friday - 11.11 - delivery three 
4. monday - 14.11 - delivery four 
5. wednesday - 16.11 - delivery five 
6. friday - 18.11 - delivery six 
+1

あなたは何を試してみましたか?いくつかのサンプルデータとコードを投稿して、あなたのために働いていないものを教えてください。また、このリンクをチェックしてください:http://stackoverflow.com/help/mcve。 – CGritton

+0

私はここにこだわっています。私はforeachのために多くのものを試しましたが、成功しませんでした。私はちょうど月曜日、水曜日、金曜日のようなテーブルの1つのフィールドでその日をキャッチすると言うことができます –

答えて

0

あなたは、すべてのSQL要求が(PDOオブジェクトと)の日を確認することができます:

$j = 1; 
for ($i=0; $i < $_POST["duration"]; $i++) { 
    if($_POST["monday"]) //isChecked 
    { 
     $db->execute("insert into yourTable (day, date, title) values('monday', '"./* the date of the day */."', 'delivery ".$j."')"); //with auto increment for id 
     $j++; 
    } 
    if($_POST["tuesday"]) //isChecked 
    { 
     //... 
    } 
} 
+0

Ok、これは、その日がチェックされている場合はクエリを挿入し、私はそれをスキップすることができます。私はそれを試みます。 –

+0

'$ _POST [" monday "]'は内部ループで行うことができます。そうでなければ、これは多くの繰り返しコードを表します。さらに、このコードはすべての注入された値が信頼できるので安全ですが、特に日付がユーザーから来る場合はパラメータバインドを使用する価値があります。そうしないと、SQLインジェクションの脆弱性が生じます。 – halfer

+0

確かに、この繰り返しコードよりも効率的ですが、グローバルなideeはここにあります。 –

関連する問題