【发布时间】:2013-06-20 13:51:07
【问题描述】:
我正在查询我的数据库并将数据转储到 HTML 表中。我的数据库键之一称为“time_expire”,值为-1 表示从不。因此,为了在 HTML 表中显示“从不”的效果而不是原始数据,我试图在变量被回显之前更改它。
这是我的代码
<?php
$sql = "SELECT * FROM penalties ORDER BY id DESC";
$result = mysql_query($sql);
while ($rows = mysql_fetch_array($result)) {
if ($rows['time_expire'] = '-1') {
$rows['time_expire'] = '<span class="label label-important">Permanent</span>';
}
echo "<tr>";
echo '<td><a href="ban.php?banid=' . $rows['id'] . '">' . $rows['id'] . '</a></td>';
echo "<td>" . $rows['client_id'] . "</td>";
echo "<td>" . $rows['type'] . "</td>";
echo "<td>" . date('m/d/Y', $rows['time_add']) . "</td>";
echo "<td>" . $rows['duration'] . "</td>";
echo "<td>" . $rows['time_expire'] . "</td>";
echo "<td>" . $rows['reason'] . "</td>";
echo "</tr>";
}
?>
此代码不会出错,但是我的 HTML 表中的每一行都有一个“从不”的过期值,即使原始数据不同。
【问题讨论】:
-
你可能想写
==而不是=。 -
这使我的输出好像 if 语句不存在,它忽略它。没有错误。
-
是的,当然。就是这样.. if ($rows['time_expire'] == '-1') {
-
把
var_dump($rows['time_expire']);放在if语句之前,看看你的变量变成了什么值 -
没关系,这是正确的。我需要一个 == 在 if 行上,而不是它下面的行。非常感谢。
标签: php mysql variables if-statement while-loop