【问题标题】:Highlighting row with same date AND almost same time突出显示具有相同日期和几乎相同时间的行
【发布时间】:2012-04-15 16:55:39
【问题描述】:

我有一个四列的 mysql 表:

date, time, ip, user

加载结果时,我得到如下信息:

03-21 17:10:33 123.456.789.101 TestUser
03-21 17:12:31 123.456.789.101 TestUser
03-25 17:16:33 123.456.789.101 TestUser

如果在 2 分钟范围内,我想突出显示(给出差异文本颜色)具有相同日期和时间的行,就像我的示例中的前两行一样。

怎么做?

【问题讨论】:

    标签: php mysql date time range


    【解决方案1】:

    我建议删除数据库中的日期列,并将 TIME 更改为完整的 TIMESTAMP,然后使用 MySQL timediff 函数来确定两者之间的差异。

    http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff

    一旦您确定了两者之间的时间差,当您回显结果时,添加一些内联 css 样式或不同的类,以根据该差异更改文本颜色或背景颜色。

    虽然没有看到您的代码,但我无能为力。

    【讨论】:

      【解决方案2】:

      您可以在 PHP 中使用 de strtotime 函数将字符串转换为日期。使用一些 CSS 样式可以突出显示结果。例如:

      $t1 = strtotime('03-21 17:10:33');
      $t2 = strtotime ('03-21 17:12:31');
      if( abs($t1-$t2) <= 120|| ){ //120 is the number of secons in 2 minutes
      }
      

      【讨论】:

      • 嘿,谢谢,这是有道理的。但是如何告诉脚本 $t1 是之前的 $row 呢?
      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      相关资源
      最近更新 更多