2014-02-11 23 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