Aart den Braber
Aart den Braber

Reputation: 862

PHP check if date is 30 days in the past

I'm having a bit of a problem here.

I insert a date into the database: date_last_applied.

I can just call this by using $row['date_last_applied'], of course. Now, I need to check if this inserted date was 30 days ago and if so, execute an action.

$query = "SELECT date_last_applied FROM applicants WHERE memberID='$id'";
$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
    $date = strtotime($row['date_last_applied']);

}

That's about all I have.. I tried some things, but they all failed. :(

Upvotes: 9

Views: 16272

Answers (2)

Brad
Brad

Reputation: 163313

if ($date < strtotime('-30 days'))

If you are only performing actions on dates older than 30 days, you should use Marco's solution.

Upvotes: 28

Marco
Marco

Reputation: 57583

You could do it via SQL getting only dates in last 30 days

SELECT date_last_applied 
FROM applicants 
WHERE memberID = your_id
  AND date_last_applied BETWEEN
      DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW()

or older than 30 days

SELECT date_last_applied 
FROM applicants 
WHERE memberID = your_id
  AND date_last_applied < DATE_SUB(NOW(), INTERVAL 30 DAY)

Upvotes: 11

Related Questions