IF statement vraag (Opgelost)
willie - 20/09/2011 13:57
|
0 |
|
Je kan hier mee vergelijken op hoger of lager.
Maar wat als die nu gelijk moet zijn.
Ik dacht dus zo met ==
if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) == time()) {
echo " - <u><b>vandaag</b></u>";
} else {
echo "";
}
if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) == time()) { echo " - <u><b>vandaag</b></u>"; } else { }
Maar dat doet die dus niet.
wat doe ik dus niet goed ?
|
7 antwoorden
Gesponsorde links |
|
qubus - 20/09/2011 14:19 (laatste wijziging 20/09/2011 14:44)
|
Lid |
|
Deze vergelijking is alleen om 23 uur 59 min en 59 sec gelijk op die datum. Je wilt de dag vergelijken, dus dan doe je:
if (time() < mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) && time() > mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar)) {
echo " - <u><b>vandaag</b></u>";
} else {
echo "";
}
if (time() < mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) && time() > mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar)) { echo " - <u><b>vandaag</b></u>"; } else { }
Zou moeten werken denk ik...
Dan moet je ook je vergelijking uit je vorige topic even wijzigen het wordt iets als:
if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) < time()) { echo "Komt nog"; }
else if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) > time()) {echo "Geweest"; }
else { echo "Vandaag"; }
if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) < time()) { echo "Komt nog"; } else if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) > time()) {echo "Geweest"; }
|
Dlol - 20/09/2011 14:54 (laatste wijziging 20/09/2011 16:02)
|
Lid |
|
Je zou ook kunnen werken met de gehele deling:
if (intval(mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) / 24*3600) == intval(time() / 24*3600)) {
echo "vandaag";
}
EDIT: BELANGRIJK! Ik was mijn haakjes vergeten... Het moet zo zijn:
if (intval(mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) / (24*3600)) == intval(time() / (24*3600))) {
echo "vandaag";
}
if (intval(mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) / (24*3600)) == intval(time() / (24*3600))) { }
|
willie - 20/09/2011 15:20
|
0 |
|
qubus schreef: Deze vergelijking is alleen om 23 uur 59 min en 59 sec gelijk op die datum. Je wilt de dag vergelijken, dus dan doe je:
[..code..]
Zou moeten werken denk ik...
Dan moet je ook je vergelijking uit je vorige topic even wijzigen het wordt iets als:
[..code..] de eerste doet het goed, maar de tweede werkt niet goed.
inplaats van vandaag geeft hij is geweest aan. |
qubus - 20/09/2011 15:26
|
Lid |
|
if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) < time()) { echo "Komt nog"; }
else if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) < time() && mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) > time()) {echo "Vandaag"; }
else { echo "Geweest"; }
if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) < time()) { echo "Komt nog"; } else if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) < time() && mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) > time()) {echo "Vandaag"; }
Zo dan? |
willie - 20/09/2011 15:35 (laatste wijziging 20/09/2011 15:48)
|
0 |
|
Hij blijft ipv vandaag geweest aangeven.
nou heb ik het zo opgelost.
<?
if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) < time()) {
echo " - <u><b>Is al geweest !</b></u>";
} else {
echo "";
}
if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) > time()) {
echo " - <u><b>Komt nog !</b></u>";
} else {
echo "";
}
if (time() < mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) && time() > mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar)) {
echo " - <u><b>Nu-vandaag</b></u>";
} else {
echo "";
}
?>
<? if (mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) < time()) { echo " - <u><b>Is al geweest !</b></u>"; } else { } if (mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar) > time()) { echo " - <u><b>Komt nog !</b></u>"; } else { } if (time() < mktime(23, 59, 59, $obj->maand, $obj->dag, $obj->jaar) && time() > mktime(00, 00, 01, $obj->maand, $obj->dag, $obj->jaar)) { echo " - <u><b>Nu-vandaag</b></u>"; } else { } ?>
en het werkt goed. ook voor het nieuwe jaar of een jaar terug |
qubus - 20/09/2011 16:08
|
Lid |
|
Ook prima, je kunt de drie keer ' else {echo ""; " ' gewoon weglaten, omdat het altijd één van de drie is. |
Frisbee - 20/09/2011 16:10 (laatste wijziging 20/09/2011 16:10)
|
HTML beginner |
|
Misschien zoiets:
if(date('Y-m-d') == date('Y-m-d', mktime(mktime(0, 0, 0, $obj->maand, $obj->dag, $obj->jaar))))
{
echo 'Vandaag';
}
|
Gesponsorde links |
|
Je moet ingelogd zijn om een reactie te kunnen posten. |
|