【问题标题】:How to hide an item when today is not between 2 given dates?当今天不在两个给定日期之间时如何隐藏项目?
【发布时间】:2013-05-20 02:13:59
【问题描述】:

当日期不在两个给定日期之间时,我想隐藏选择框中的项目。 例如:开始日期是 5 月 5 日,结束日期是 5 月 16 日。如果今天是 10 号,则可以显示该项目。如果今天是 4 号或 24 号,则无法显示该项目。

我试过了:

<?php
echo "<select>";        
if(05-05-2013 < date("d-m-Y") AND 16-05-2013 < date("d-m-Y")){
echo "<style type='text/css'>
    .date{
        display: none;
    }
</style>";  
}


echo "<option class='date'>test1</option>";
echo "<option class='date'>test2</option>";

echo "</select>";
?>

还有这个:

<?php
echo "<option style='
if(05-05-2013 < date('d-m-Y') AND 16-05-2013 < date('d-m-Y'))
{ 
     echo 'display: none;'; 
}'>test</option>";
?>

但这不起作用。有人知道怎么做吗? 提前致谢!

【问题讨论】:

  • 理想情况下,如果您不满足这些选项的显示条件,您甚至不应该在 select 元素中包含这些选项。换句话说,不要隐藏它们,而是删除它们。
  • 感谢大家的帮助。我意识到我可以在我的数据库中过滤它。 SELECT * FROM table WHERE CURDATE() >= startdate AND CURDATE()enddate

标签: php date select


【解决方案1】:
$today = new DateTime();
$start = new DateTime('05-05-2013');
$end   = new DateTime('16-05-2013');

if ($today >= $start && $today <= $end)
{
    // show it
}

【讨论】:

    【解决方案2】:

    试试这个

      $display_style = '';
    if((strtotime('05-05-2013') < strtotime(date("d-m-Y"))) AND (strtotime('16-05-2013') < strtotime(date("d-m-Y")))){
    $display_style =  "style='display:none;'";  
    }
    
    echo "<select ".$display_style.">";        
    echo "<option class='date'>test1</option>";
    echo "<option class='date'>test2</option>";
    
    echo "</select>";
    

    如果我能帮助你更多,请告诉我。

    【讨论】:

    • 对于初学者来说,这永远不会编译,因为 05-05-201316-05-2013 不在引号中,即使是引号,您也会比较字符串。
    • 我已经更新了我的答案。抱歉添加 quik 请检查@h2ooooooo
    • 如果我这样做,选择框是不可见的。我尝试添加“.$display_style”。可以选择,但它们都是可见的
    • 如果您的当前日期低于您在 if 语句中定义的两个条件,则测试它是否进入 if 条件?
    【解决方案3】:

    问题是“我想在两个给定日期之间的日期时隐藏项目”所以试试这个:

    $date_compare='17-05-2013';
    if($date_compare<'05-05-2013'||$date_compare>'16-05-2013'){//if date_compare not between 05-05-2013 and 16-05-2013 show
    echo "<style type='text/css'>
            .date{
              display: none;
             }
           </style>";
    }
    

    仅当日期在两个给定日期之间时显示样式

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 2017-05-11
      • 1970-01-01
      • 2010-09-14
      相关资源
      最近更新 更多