2015-07-04 41 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