2016-06-14 5 views
-1

사실 저는 후보자가 3 개월 후에 다시 신청할 수없는 채용 포털을 만들고 있습니다. 3 개월 후에 신청할 수 있습니다. 그래서 나는 이것을 어떻게하는지 알 필요가있다. 후보자가 양식을 채울 때 양식 날짜는 현재 시간 스탬프를 사용하여 mysql 데이터베이스에 저장됩니다. 이제는 현재 시간과 데이터베이스 시간을 비교할 필요가 있습니다. 두 날짜의 차이가 3 개월 이상이면 데이터베이스에 값만 추가 할 수 있습니다.
즉, 후보자는 3 개월 이내에 다시 양식을 채울 수 없습니다. 3 개월이 끝나면 후보자가 양식을 작성할 수 있습니다.저장된 mysql 날짜와 현재 날짜를 선택하여 월간 비교하십시오

+2

[PHP에서 두 날짜 사이의 달 수를 계산 하시겠습니까?] (http://stackoverflow.com/questions/13416 894/calculate-the-number-of-two-dates-in-php) –

답변

0

원하는 경우 'date math'를 MySQL에서 할 수 있습니다. 테이블이 어떻게 생겼는지에 대해서는 말하지 않았지만 여기에 예제가 있습니다 : YourTable의 SomeColName으로 SELECT ..., DATE_SUB (your_date_var, INTERVAL 3 개월) ... 어디서나 재생할 수 있습니다. 마지막 적용 일을 읽고 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을 사용하는 추측하고있어), 당신은 차를 가지고 $ candidateates_email의 키를 입력하면 후보 행을 새로운 정보로 업데이트하거나 원하는대로 수행 할 수 있습니다.

+0

미안하지만 내 기본 키는 후보 ID이며, 여전히 동일한 후보가 양식을 채우지 못하도록하는 방법을 모르겠다. 그의 3 개월은 완료되지 않았습니다. –

+0

확인 된 고유 한 엔티티 (이메일 또는 전화 번호 등)를 사용하여 각각의 고유 한 후보를 나타낼 수 있습니다. 그런 다음 위 쿼리를 사용하여 검색하십시오. –

관련 문제