2016-06-14 5 views
-1

実際には、候補者が3ヶ月以内に再度応募できない求人ポータルを作成しています。 3ヶ月後に応募できます。だから私はこれを行う方法を知る必要があります。候補が記入されると、フォームの日付は現在のタイムスタンプを使用してmysqlデータベースに格納されます。今私は現在の時間とデータベースの時間を比較する必要があります、両方の日付の違いが3ヶ月以上の場合は、値だけをデータベースに追加することができます。
要するに、候補者は3ヶ月以内に再度フォームに記入することはできません。 3ヶ月が完了したら、候補者はフォームに記入することができます。保存されているmysqlの日付と現在の日付を選択して月に比較します

+2

[PHPで2つの日付間の月数を計算しますか?](http://stackoverflow.com/questions/13416 894/calculate-the-months-between-two-dates-in-php) –

答えて

0

希望する場合は、MySQLにいくつかの「日付の計算」を行うことができます。あなたのテーブルの様子は教えてくれませんでしたが、ここに例があります:YourTableのSomeColNameとしてSELECT ....、DATE_SUB(your_date_var、INTERVAL 3 MONTH)どこかで....これで周りを遊ぶことができます。最後の適用日を読み、3か月を追加してNOW()と比較する場合はDATE_ADD。がんばろう。

1

と仮定、データベース内:

その後
table name : candidates 
fields : email, form_date, .... (other fields) 
where 'email' is the primary key and 'form_date' has the timestamp in which a candidate had filled the form last time successfully. 

モデルに:今

$query = "SELECT email FROM candidates WHERE form_date < NOW() - INTERVAL 3 MONTH"; 

    $queryResult = $this->db->query($query); 

    foreach($queryResult->result() as $row) 
     $candidates_email = $row; 

(あなたのタグを見て、私はあなたがCodeIgniterの3を使用している推測している)、あなたは主を持っています$ candidates_emailのキーを押すと、新しい情報で候補行を更新したり、好きなことをしたりできます:)

+0

申し訳ありませんが、私の主キーは候補IDですが、それでも私は同じ候補がフォームを埋めるのを防ぐ方法を知りません。彼の3ヶ月は完了していない。 –

+0

あなたは検証された一意のエンティティ(電子メールまたは電話番号など)を使用して、それぞれの一意の候補を表すことができます。上記のクエリを使用して検索します。 –

関連する問題