我正在使用while循环来回显表中数据库中的用户。现在,我想检查“ loggedin”列是否设置为1(如果是,我想在名称后面加上一些在线内容)。这是我的代码:
<tr>
<th>Name</th>
<th>Date</th>
<th>Actions</th>
</tr>
<?php
while($row = mysqli_fetch_array($resultUsers))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "<td><a class='btn btn-default' href='member.php?user=" . $row['id'] . "'>Bekijk</a> <a class='btn btn-default' href='member.php?user=" . $row['id'] . "&sendrequest=1s'>Stuur vriendschapsverzoek</a></td>";
echo "</tr>";
}
?>
现在,我想添加某种代码来检查用户是否在线。像这样:
echo "<td>" . $row['name'] . "" . if($row['loggedin'] === 1) {"<p>Online</p>"} . "</td>";
答案 0 :(得分:1)
您可以使用三元运算符:
echo "<td>" . $row['name'] . " " . ($row['loggedin'] === 1 ? "<p>Online</p>" : "") . "</td>";
答案 1 :(得分:1)
按原样编写html并将PHP
代码附加到html的最优选和更好的方法,例如:
<tr>
<th>Name</th>
<th>Date</th>
<th>Actions</th>
</tr>
<?php while ($row = mysqli_fetch_array($resultUsers)) { ?>
<tr>
<td><?php echo $row['name']; ?></td>;
<td><?php echo $row['date']; ?></td>;
<td>
<a class='btn btn-default' href='member.php?user=<?php echo $row['id']; ?>'>Bekijk</a> <a class='btn btn-default' href='member.php?user=<?php echo $row['id']; ?>&sendrequest=1s'>Stuur vriendschapsverzoek</a>
<?php if ($row['loggedin'] === 1) { ?>
<p>Online</p>
<?php } ?>
</td>
</tr>;
<?php } ?>
答案 2 :(得分:0)
您可以使用三元运算符。试试这个:
echo "<td>" . $row['name'] . "" . (!empty($row['loggedin']) && $row['loggedin'] === 1) ? '<p>Online</p>' : '' . "</td>";
希望这会有所帮助。
答案 3 :(得分:0)
三元数需要使用三元运算符。
echo "<td>" . $row['name'];
echo $row['loggedin'] === 1 ? '<p>Online</p>' : '';
echo "</td>";
对于一个行代码
echo "<td>" . $row['name'] . "" . ($row['loggedin'] === 1 ? "<p>Online</p>" : '' ) . "</td>";
看看是否设置好总是好(isset($ row ['whatevercolumn'])) 不要使用empty()检查,默认情况下,如果为空,则将抛出false。因此不必添加额外的功能来消耗您的资源。