2014-02-11 26 views
1
<?php 
function saturday22march(){ 
if(date('d-m-Y') <= '11-01-2014'){ 
echo '<option>saturday 22 march</option>'; 
}else{ 
echo ''; 
} 
} 
function friday16may(){ 
if(date('d-m-Y') <= '17-04-2014'){ 
echo 'friday 16 may'; 
} else{ 
echo ''; 
} 
} 
$Content= ' 
<div class="content"> 
I am signing up for the following date:<br /> 
<select name="date[0]"> 
'. saturday22march(); 
    friday16may() .' 
</select> 
</div> 
'; 
echo $Content; 
?> 

這就是我想要的例如,如果它是3月23日,選項星期六22不再有利可圖/可用如何做到這一點?PhP日期在期權內到期


這是我試圖使它是相同的,但其他的智慧。

function saturday22march(){ 
    $ret= ""; 
    if(time() <= strtotime('11-01-2014')){ 
    $ret = 'saturday 22 march'; 
    } 
    return $ret; 
} 
function friday16mei(){ 
    $ret= ""; 
    if(time() <= strtotime('17-04-2014')){ 
    $ret = 'friday 16 mei'; 
    } 
    return $ret; 
} 
function getoptions(){ 
    $ret = ""; 

    $saturday22 = saturday22march(); 
    if(strlen($saturday22) > 0){ 
     $ret = "<option>" . $saturday22 . "</option>"; 
    } 

    $friday16mei = friday16mei(); 

    if(strlen($friday16mei) > 0){ 
     $ret = "<option>" . $friday16mei . "</option>"; 
    } 

    return $ret; 
} 
$Content= ' 
<div class="content"> 
    I am signing up for the following date:<br /> 
    <select name="date[0]"> 
     '. getoptions() .' 
    </select> 
</div> 
'; 
echo $Content; 
+0

。 – Barmar

回答

0

應該轉換其他各地方式的另一件事,串都不好日表示,他們之比較會不要利用日期之間的真正關係(至少不要按照這個順序,因爲年份應該是最重要的)。比較「正確」的方法是比較給定日期的unix時間戳。

而不是

if(date('d-m-Y') <= '11-01-2014'){ 

如果要比較日期字符串,使用'Y-M-D'的格式,你應該使用

if(time() <= strtotime('11-01-2014')){ 
+0

好吧好吧,但現在我的問題是我如何得到這些2在選擇框?我如何讓他們過期?因爲在選擇框中沒有任何東西顯示出來 – Harryaars

+0

它工作的很好,我把你的代碼粘貼到http://writecodeonline.com/php/,它會創建有效的代碼(有一個選項)。唯一的小錯誤是你做'$ ret =「

+0

THNXS!它現在有效:D! – Harryaars