【问题标题】:Change of td color with php if else statement [closed]使用 php if else 语句更改 td 颜色 [关闭]
【发布时间】:2015-12-07 19:40:54
【问题描述】:

我想根据从 sql 查询收到的日期更改我的 td 的颜色。请帮助关注 -

如果获取的日期小于今天的日期,我想将 td 的颜色更改为绿色。

<?php
    if($mydate > date('d-M-Y'))
    {
        echo "<td style="background-color:green;">";
    }
    else
    {
       echo "<td>";
    }
?>

【问题讨论】:

  • $mydate 变量的值是多少
  • echo "";?检查您的报价。
  • 而且你不能那样比较日期。
  • 您希望获取的日期小于今天,但您的代码中有大于号 &gt;
  • @CodeGodie 你是对的。也许他对大于和小于太困惑了。大声笑

标签: javascript php html


【解决方案1】:

您不能检查字符串格式的日期。

您可以做到这一点的一种方法是在 UNIX 时间戳中格式化日期(以便您有一个整数),这样您就可以正确检查一个日期实际上是否比另一个日期新或旧。

$mydate = (new DateTime($mydate))->format('U');
$date   = (new DateTime(date('Y-m-d')))->format('U');

if($mydate > $date)
{
    echo "<td style='background-color: green;'>";
}
else
{
    echo "<td>";
}

【讨论】:

  • 请不要在没有说明原因的情况下投反对票。
  • 解释为什么这会回答这个问题
  • 谢谢。看起来更好
  • 我可以在 JavaScript 中做到这一点,在 PHP 中不一样吗? if ("2015-09-11" &gt; "2015-09-10") ...
  • @GiamPy 不,如果它们都是字符串并且都是 YYYYMMDD 格式,则不需要这样做,因为比较也适用于数字的字符串值
【解决方案2】:

首先将您的两个时间转换为单一格式并进行比较

尝试关注

为了方便使用,我使用了 div 而不是 td

<?php
    $mydate="08-sep-2015";
    //$mydate="11-sep-2015";
    $today      = date('d-M-Y');
    $todayTime = strtotime($today);
    $compTime  = strtotime($mydate);
    if($compTime < $todayTime) {        
        echo "<div style='background-color:green;'>fgd</div>";
        }
        else{
                echo "<div>sdfsdf</div>";
         }
?>

【讨论】:

  • @RamukTima 您需要向我们展示代码,看看您是如何提出$mydate
  • @CodeGodie: He mentioned it.
  • while($data=oci_fetch_array($array)) { $idno=$data[0]; $caseno=$data[1]; $pname=$data[2]; $rname=$data[3]; $目的=$数据[4]; $mydate=$data[5]; ?>
  • @GiamPy 他确实提到了,但我认为他错了,因为这是来自数据库,它可能会存储为 2015-09-11
  • 更新代码请检查
【解决方案3】:
$mydate = "2015-10-01";
if(strtotime($mydate) > strtotime(date('Y-m-d')))
{
    echo "<td style='background-color:green;'>testing</td>";
}
else
{
   echo "<td>testing</td>";
}

【讨论】:

  • 感谢您的帮助。效果很好。
【解决方案4】:
    <!DOCTYPE html>
     <html>
   <head>

   </head>
   <body>

   <table>

   <tr>

    <?php
    $mydate = "2015-10-01";
    if(strtotime($mydate) > strtotime(date('Y-m-d')))
    {
        echo "<td  bgcolor='#FF0000'>testing</td>";
    }
    else
    {
       echo "<td>NOt Green</td>";
    }
    ?>

    </tr>
    </table>



    </body>
    </html>

【讨论】:

  • 是的。你的权利。而不是我应该使用不能。对不起类型。我的观点是你应该使用 bgcolor 而不是背景颜色:。任何方式都可以为你提供信息。
  • 我的意思是:你错了。 style 属性包含 css - 它与 bgcolor 完全相同,但使用 21 世纪的值。我没有提到拼写错误
  • HTML bgcolor 属性早在 1997 年就被弃用了(在 W3C HTML 4.0 中);您应该改用 CSS 背景色样式。
猜你喜欢
相关资源
最近更新 更多
热门标签