<?php if (date == $row) echo ..... ?>

Trying to get my system to display an image in the table if the returned $row date is over the last 24 hours. I've tried different methods and Google'd a few ideas, none have seemed to work so far.

Here is what I have so far:

<?php
$now = strtotime("now");
$lastdaystr = strtotime("+1 day", $now);
$dbdate1 = strtotime($row['CreationDateTime']);
$dbdate2 = strtotime($row2['LatestModification']);
?>

<?php if ($dbdate1 == $lastdaystr) { echo '<img src="img/new.gif" />'; } ?>
<?php if ($dbdate2 == $lastdaystr) { echo '<img src="img/new.gif" />'; } ?>

Knowing me I am probably barking up the wrong tree completely. Any ideas all?
BenthamLtdAsked:
Who is Participating?
 
rgobleCommented:
The first thing I noticed is that this is giving you tomorrows date, not yesterdays.
$lastdaystr = strtotime("+1 day", $now);

The second thing is that you are comparing the dates to see if they are equal, which depending on if they include times they may never be equal.

Try this instead.
<?php
$now = strtotime("now");
$lastdaystr = strtotime("-1 day", $now);
$dbdate1 = strtotime($row['CreationDateTime']);
$dbdate2 = strtotime($row2['LatestModification']);
?>
 
<?php 
  if ($dbdate1 >= $lastdaystr) 
  { 
     echo '<img src="img/new.gif" />'; 
  }
?>
<?php 
  if ($dbdate2 >= $lastdaystr) 
  { 
     echo '<img src="img/new.gif" />'; 
  }
?>

Open in new window

0
 
BenthamLtdAuthor Commented:
Wow thank you for the quick response and for pointing me in the right direction. Unfortunately though, it doesn't seem to work. Even if I update a "sheet" on my system, despite reading off today's date, it still won't display the "new.gif" image. I've attached the whole code of the table below, it might help a bit more.

Thank you again and in advance.
<div id="history_table">
<?php
$now = strtotime("now");
$lastdaystr = strtotime("-1 day", $now);
$dbdate1 = strtotime($row['CreationDateTime']);
$dbdate2 = strtotime($row2['LatestModification']);
?>
 
 
<table width="400" class="history">
<tr>
	<td colspan="4" class="hed">Sheet History </td>
</tr>
<tr>
	<td colspan="4">&nbsp; </td>
</tr>
<tr>	
	<td width="10"><?php if ($dbdate1 >= $lastdaystr) { echo '<img src="img/new.gif" />'; } ?> </td>
	<td width="83"><?php echo $row['CreationDateTime']; ?> </td>
	<td width="124"><?php echo $row['LoggedBy']; ?></td>
	<td width="177">created </td>
<?php do { ?>
<tr>
	<td><?php if ($dbdate2 >= $lastdaystr) { echo '<img src="img/new.gif" />'; } ?></td>
	<td><?php echo $row2['LatestModification']; ?> </td>
	<td><?php echo $row2['Name']; ?> </td>
	<td> modified </td>
<?php } while ($row2 = mysql_fetch_assoc($sql2));
					$rows = mysql_num_rows($sql2);
					if($rows > 0) {
						mysql_data_seek($sql, 0);
							$row2 = mysql_fetch_assoc($sql2);
					}
			?>
 
 
</table>
</div>

Open in new window

0
 
rgobleCommented:
Sorry I missed it before, change this line

$lastdaystr = strtotime("-1 day", $now);

to

$lastdaystr = strtotime("-1 day");
0
 
BenthamLtdAuthor Commented:
Thank you ever so much for your help Rgoble. It works great! Although I had to slightly modify it. Don't ask why. You know what PHP is like ;)


// CreationDateTime
 
<?php if (strtotime($row['CreationDateTime']) >= strtotime("-1 day")) { echo '<img src="img/new.gif" />'; } ?>
 
// LatestModification (looped)
 
<?php if (strtotime($row2['LatestModification']) >= strtotime("-1 day")) { echo '<img src="img/new.gif" />'; } ?>

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.