2015-07-04 21 views
1

我很困惑,不知道为什么这段代码不工作。如何使用PHP隐藏/显示文本内容?

这里是原代码:

//start date to end date 
    <?php if($show5 < $show6) { ?> 

    <a>show content</a> 

    <?php }?> 

如果“开始日期”和“结束日期”值是空的话,我想删除或隐藏<?php if($show5 < $show6) { ?><?php }?>和“显示内容”。

如果'开始日期'和'结束日期'值不为空,那么我想要删除或隐藏<?php if($show5 != '' && $show6 != '') { ?><?php }?>并显示内容。如果开始到结束日期没有过期,并且如果开始到结束日期过期,则隐藏内容。

<?php if($show5 != '' && $show6 != '') { ?> 

    //start date to end date 
    <?php if($show5 < $show6) { ?> 

    <?php } ?> 

    <a>show content</a> 

    <?php if($show5 != '' && $show6 != '') { ?> 

    <?php } ?> 

<?php }?> 

回答

1

这是你正在尝试做什么?

<?php if ($show5 != '' && $show6 != '') { ?> 
    //start date to end date 
    <?php if (strtotime($show5) < strtotime($show6)) { ?> 
     <a>show5 content</a> 
    <?php } ?> 
    <?php if (strtotime($show5) > strtotime($show6)) { ?> 
     <a>show6 content</a> 
    <?php } ?> 
<?php } ?> 

底部的代码是没有必要的,因此它是抛出一个错误。此外,HTML必须被移动几行顶部,你错过了一个<?php } ?>

+0

请参见问题(更新)的发布。 – userknowmore

+0

'$ show5'和'$ show6'的内容是什么? – Stanimir

+0

这是jquery时间选择器的内容,比如'2015-07-04 15:11' – userknowmore

0

我不知道你究竟在做什么......顺便说一句,你不需要把<?php ?>括号内的每句话,只是直到你转身到HTML:

<?php if($show5 != '' && $show6 != '') { 

//start date to end date 

     if($show5 < $show6) { 
}?> 

<a>show content</a> <<<---- This is outside the php block, if you want it inside you can do it with echo "<a>show content</a>"; 

<?php if($show5 != '' && $show6 != '') { 
    } 
}?> 

更新

<?php if($show5 != '' && $show6 != '') { 
    echo "<a>show content</a>"; 
} 
else{ 
    $curDate = date(); //currentDate 
    if($show5 <= $curDate && $curdate < $show6) { 
     echo "<a>show another content</a>"; 
    } 
}?> 

注意,date()功能可以为你想匹配$show5格式化和$show6。反之,这个变量可以格式化为date()格式:https://secure.php.net/manual/es/function.date.php

如果修改此代码一点你可以把它张贴一些内容取决于许多不同的参数。此外,您还可以存储在其他一些变量的内容,然后毕竟IFS

+0

是的,我想这样,请看问题(更新)。 – userknowmore

+0

@userknowmore:我已经更新了答案,希望它可以帮助您 –

+0

抱歉,但无法正常工作。我正在使用PHP 5.4。谢谢.. – userknowmore