2016-11-11 51 views
-1

我目前正在建造出现日历,如您所知,仅显示24天。每天都会有链接显示其页面。在当天之后隐藏链接

我试图仅显示从第1天到当天的页面链接,而不是当天之后。

例如,如果今天是12月20日,其余的(21,22,23,12月24日应该没有联系,没有A HREF)

这里是我的代码看起来现在:

$date = date('Y-m-d'); 
echo 'Current Date: '.$date.'<br>'; 

for ($x = 1; $x <= 24; $x++) {   
     echo "<a class='grid-item' href=".'/region.php?region=Region&tag=2016-12-'.str_pad($x, 2, "0", STR_PAD_LEFT)."><em>$x</em></a><br>"; 
} 

现在的输出:

Current Date: 2016-11-11 
1 
2 
3 
4 
5 
.. 
.. 
24 

任何建议,将不胜感激。

+0

'如果($日期> = $的currentdate) { 回声 “$x
”; } else { echo“$x
”; }' – Dherya

+0

好吧在循环中写一个测试,并输出一些不同的东西,如果'$ x>今天的日子' – RiggsFolly

+1

欢迎来到SO。 请阅读[我可以问哪些主题](http://stackoverflow.com/help/on-topic) 和[如何提出一个好问题](http://stackoverflow.com/help/how-to - 问) 和[完美的问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何创建[最小,完整和可验证的例子] (http://stackoverflow.com/help/mcve) SO是**不是免费的编码或代码转换或调试或教程或库查找服务** ___在这里我们修复你的尝试,我们不会尝试你的coding___ – RiggsFolly

回答

2

只需比较$x到月份的当天。如果比它大,请不要显示链接。

$today = new DateTime(); 
$day = $today->format('j'); 
echo 'Current Date: '.$today->format('Y-m-d').'<br>'; 

for ($x = 1; $x <= 24; $x++) { 
    if ($x <= $day) {   
     echo "<a class='grid-item' href=".'/region.php?region=Region&tag=2016-12-'.str_pad($x, 2, "0", STR_PAD_LEFT)."><em>$x</em></a><br>"; 
    } 
    else { 
     echo $x; 
    } 
} 
+0

谢谢John! :) – Tudor