Jump to content

[SOLVED] elseif


richiec

Recommended Posts

if(strtotime('now') > strtotime("{$date}")) {
      echo "something when strtotime > than just the date";   

}

elseif(strtotime('now') > strtotime("{$date $time}")) {
      echo "something when strtotime > date and time";

} else {
      echo "defult for if strtotime < now";
}

 

Can anyone see what is wrong with this? I am guessing it is getting confused because if strtotime > date it echos something but if strtotime > date and time it echos something else... any ideas? =\

Link to comment
https://forums.phpfreaks.com/topic/88068-solved-elseif/
Share on other sites

try

 

<?php

if(strtotime('now') > strtotime("{$date}")) {
      echo "something when strtotime > than just the date";   

}

elseif(strtotime('now') > strtotime($date . $time)) {
      echo "something when strtotime > date and time";

} else {
      echo "defult for if strtotime < now";
}

?>

Link to comment
https://forums.phpfreaks.com/topic/88068-solved-elseif/#findComment-450583
Share on other sites

Try:

<?php
$now = time();
echo 'now = ' . $now . '<br>';
echo 'date = ' . $date . '<br>';
echo 'time = ' . $time . '<br>';
switch (true) {
case ($now  > strtotime($date)):
      echo "something when strtotime > than just the date";   
      break;
case (strtotime('now') > strtotime($date . ' ' . $time)):
      echo "something when strtotime > date and time";
      break;
default:
      echo "default for if strtotime < now";
}
?>

 

Ken

Link to comment
https://forums.phpfreaks.com/topic/88068-solved-elseif/#findComment-450604
Share on other sites

Well, the first comparison is satisfied so, it stops looking. Switch the order of the checks:

<?php
$now = time();
echo 'now = ' . $now . '<br>';
echo 'date = ' . $date . '<br>';
echo 'time = ' . $time . '<br>';
switch (true) {
case (strtotime('now') > strtotime($date . ' ' . $time)):
      echo "something when strtotime > date and time";
      break;
case ($now  > strtotime($date)):
      echo "something when strtotime > than just the date";   
      break;
default:
      echo "default for if strtotime < now";
}
?>

 

Ken

Link to comment
https://forums.phpfreaks.com/topic/88068-solved-elseif/#findComment-450624
Share on other sites

bumping sorry, but i still cant get this to work right so im going to post the whole secton of code so you can maybe see more of what i am trying to do...


<?php
$now = putenv("TZ=America/New_York");
$currentdate = date('n-j-Y');
$datentime = date('n-j-Y',strtotime('now'));
$name = mysql_result($result,$i,"name");
$date = mysql_result($result,$i,"date");
$time =mysql_result($result,$i,"time");
$respawn =mysql_result($result,$i,"respawn");
$image =mysql_result($result,$i,"image");
$image2 =mysql_result($result,$i,"image2");
$image3 =mysql_result($result,$i,"image3");
$update =mysql_result($result,$i,"update");

switch (true) {

case ($date > $currentdate):
      echo "<img onMouseOut=\"kill();\" onMouseOver=\"popup('<font color=\'#FFFFFF\'><b>$name - Level $level<br>($respawn)<br><br></font>$area<br><br><font color=\'#FF0000\'>Not Due Yet</font><br><br><font color=\'#FFFFFF\'>Due On $date <br> (Day-Month-Year)<br><br>At $time <br> (24 Hour Clock)<br><br>Updated by $update</font>');\" src=\"$image2\" alt=\"\" width=\"75\" height=\"75\">";
      break;
case ($now > $datentime):
      echo "<img onMouseOut=\"kill();\" onMouseOver=\"popup('<font color=\'#FFFFFF\'><b>$name - Level $level<br>($respawn)<br><br></font>$area<br><br><font color=\'#00FF33\'><b>Due Now!</b></font><br><br><font color=\'#FFFFFF\'>Started on $date <br> (Day-Month-Year)<br><br>At $time <br> (24 Hour Clock)<br><br>Updated by $update</font>');\" src=\"$image\" alt=\"\" width=\"75\" height=\"75\">";
      break;

default:
      echo "<img onMouseOut=\"kill();\" onMouseOver=\"popup('<font color=\'#FFFFFF\'><b>$name - Level $level<br>($respawn)<br><br></font>$area<br><br><font color=\'#FFFF00\'><font size=\'2\'>Due Today!</font></font><font color=\'#FFFFFF\'><br><br>At $time <br> (24 Hour Clock)<br><br>Updated by $update</font>');\" src=\"$image3\" alt=\"\" width=\"75\" height=\"75\">";
}
?>

Ok what it is doing, the defult seems to work and $date > $currentdate seems to work however... when $now > $datentime it still displays the defult.. any ideas?

Link to comment
https://forums.phpfreaks.com/topic/88068-solved-elseif/#findComment-452335
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.