如果给定时间等于或高于当前时间,则尝试更改表格的颜色
Posted
技术标签:
【中文标题】如果给定时间等于或高于当前时间,则尝试更改表格的颜色【英文标题】:Trying to change the color of table if the given time is equal or higher than current time 【发布时间】:2019-07-30 15:17:40 【问题描述】:我有一个表格,您可以在其中输入给定时间,例如 12:30。
默认表格颜色为蓝色,但如果当前实时时间为 12:30 或以上(例如:12:40),我希望它改变颜色。
我需要从数据库中获取给定的时间(已经管理好了),但下一部分是获取当前时间,如果它等于或高于输入时间,则整个表的颜色会改变
(Inntid 是您输入自己时间的值)
html:
<table>
<tr>
<th>Båt ut</th>
<th>Båt inn</th>
<th>Båtnr</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Tid</th>
<th>Kr</th>
</tr>
CSS:
table
color: blue;
outline-style: solid;
width: 100%;
font-family: monospace;
font-size: 25px;
text-align:left;
th
color: red;
font-family: monospace;
font-size: 25px;
text-align:left;
php:
$sok = @$_POST['searchh'];
$sql = "SELECT utleid, inntid, baatnr, fornavn, etternavn, tid, kr FROM utleie WHERE baatinn = '0' ORDER BY id desc";
$result = $conn-> query($sql);
if ($result-> num_rows > 0)
while ($row = $result-> fetch_assoc())
echo "<tr><td>".
$row["utleid"] ."</td><td>".
$row["inntid"] ."</td><td>".
$row["baatnr"] ."</td><td>".
$row["fornavn"] ."</td><td>".
$row["etternavn"] ."</td><td>".
$row["tid"] ."</td><td>".
$row["kr"] ."</td></tr>";
echo "</table>";
else
echo "0 results";
echo $row;
$conn-> close();
?>
</table>
【问题讨论】:
你尝试过使用 javascript 吗?我会是你的路 我发现我必须使用 javascript。尝试了一些东西但彻底失败了:P 你不需要 JS。使用 PHP 来执行此操作,您将类设置为页面加载,并且不依赖于在加载后呈现表格的部分。我会说使用 JS 比在 PHP 中加载结果时做更多的工作。 【参考方案1】:如果条件为真,则将您的 CSS 类定义为您想要的任何内容,然后检查 $row['tid']
的时间是否等于或高于当前日期 - 如果为真,则将该类添加到您的 @ 987654323@元素。
CSS 类似于
.future_time
background-color: red;
你的 PHP 会是这样的,
<?php
$sok = @$_POST['searchh'];
$sql = "SELECT utleid, inntid, baatnr, fornavn, etternavn, tid, kr FROM utleie WHERE baatinn = '0' ORDER BY id desc";
$result = $conn-> query($sql);
if ($result-> num_rows > 0)
echo '<table>';
$now = new DateTime();
while ($row = $result-> fetch_assoc())
$tid = new DateTime($row["tid"]);
$tid_class = $tid >= $now ? 'future_time' : '';
?>
<tr>
<td><?php echo $row["utleid"]; ?></td>
<td><?php echo $row["inntid"]; ?></td>
<td><?php echo $row["baatnr"]; ?></td>
<td><?php echo $row["fornavn"]; ?></td>
<td><?php echo $row["etternavn"]; ?></td>
<td class="<?php echo $tid_class; ?>"><?php echo $tid ?></td>
<td><?php echo $row["kr"]; ?></td>
</tr>
<?php
echo "</table>";
else
echo "0 results";
$conn-> close();
【讨论】:
嗯,好像没用。可能是因为 DateTime() 获得的值不仅仅是小时和分钟。还是我错了?DateTIme
类非常聪明。 $row['tid']
的实际值是多少,是什么格式的?
当您说“似乎不起作用”时,您需要更具体一些。会发生什么,是否出现任何错误(如果没有,您是否正在检查并记录它们?)
我不得不去上班,但我收到了一个很长的错误代码。我回家时检查一下。
从this sandbox 可以看出,DateTime 非常聪明,并且会发现您只给它时间(它会默认为 1970 年 1 月 1 日的日期,但这无关紧要)。显示您的错误,没有它就不可能提供帮助.. :-)以上是关于如果给定时间等于或高于当前时间,则尝试更改表格的颜色的主要内容,如果未能解决你的问题,请参考以下文章
指定的目标 Flash Player 版本 11.1.0.0 应等于或高于 Flex SDK 所需的最低版本 23.0.0.0