我正在查询我的数据库并将数据转储到HTML表中。我的一个数据库键称为“time_expire”,值为-1表示从不。因此,为了在HTML表格中显示“never”的效果,而不是原始数据,我试图在回声之前更改变量。
这是我的代码
<?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表格中的每一行都有一个“never”的到期值,即使原始数据不同。
答案 0 :(得分:3)
我认为它应该是:
if ($rows['time_expire'] == '-1')
不是
if ($rows['time_expire'] = '-1')
答案 1 :(得分:3)
这似乎是if statemenet中常见的拼写错误
if ($rows['time_expire'] = '-1') [
^
|
如果您希望口译员为您找到这些,请尝试使用yoda conditions,如下所示:
if ('-1' = $rows['time_expire'])
此表单将创建错误,但正确的表单都可以正常工作:
'-1' == $rows['time_expire']
或
$rows['time_expire'] == '-1'
答案 2 :(得分:0)
尝试将If条件更改为if ($rows['time_expire'] == '-1')
。现在你的条件是变量$rows['time_expire']
等于'-1'
,它总是返回true。它可能会让你进入无限循环。
答案 3 :(得分:0)
首先是什么类型time_expire
?
如果time_expire
是数字,那么您应该将条件更改为:
if ($rows['time_expire'] == -1)
将正确评估。
其次,您的条件检查实际上是将值$rows['time_expire']
分配给单=
,它应该是=
的{{1}}加倍。