Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在echo标记内检查数据库中的内容_Php_Sql_If Statement - Fatal编程技术网

Php 在echo标记内检查数据库中的内容

Php 在echo标记内检查数据库中的内容,php,sql,if-statement,Php,Sql,If Statement,我使用while循环在表中回显数据库中的用户。现在,我想检查“loggedin”列是否设置为1(如果设置为1,我想在名称后面加上online)。这是我的代码: <tr> <th>Name</th> <th>Date</th> <th>Actions</th> </tr> <?php while($row = mysqli_fetch_array($resultUsers)

我使用while循环在表中回显数据库中的用户。现在,我想检查“loggedin”列是否设置为1(如果设置为1,我想在名称后面加上online)。这是我的代码:

<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>";
echo”“$行['name']。"" . 如果($row['loggedin']==1){“在线

”}。"";
您可以使用三元运算符。试试这个:

echo "<td>" . $row['name'] . "" . (!empty($row['loggedin']) && $row['loggedin'] === 1) ? '<p>Online</p>' : '' . "</td>";
echo”“$行['name']。"" . (!empty($row['loggedin'])和&$row['loggedin']==1)?' 在线

':''。"";

希望这有帮助。

您可以使用三元运算符:

echo "<td>" . $row['name'] . " " . ($row['loggedin'] === 1 ? "<p>Online</p>" : "") . "</td>";
echo”“$行['name']。" " . ($row['loggedin']==1?”联机:“”)。"";

按原样编写html并用html附加
PHP
代码的最佳方法,如:

<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 } ?>

名称
日期
行动
;
;
在线

;
三元需要使用三元运算符

echo "<td>" . $row['name'];
echo $row['loggedin'] === 1 ? '<p>Online</p>' : '';
echo "</td>";
echo”“$行['name'];
echo$row['loggedin']==1?“ 在线

“:”; 回声“;
对于单行代码

echo "<td>" . $row['name'] . "" . ($row['loggedin'] === 1 ? "<p>Online</p>" : '' ) . "</td>";
echo”“$行['name']。"" . ($row['loggedin']==1?”在线:“”)。"";
如果设置了它,查看它总是很好的(isset($row['whatevercolumn']))
不要使用empty()检查,默认情况下,如果它为空,将抛出false。因此,不必使用额外的函数来消耗您的资源。

比我快一秒+1此问题已得到回答,
empty()
与此无关。
isset()
也不需要,只要在查询中选择了字段。非常感谢。从现在起,我将使用这种方法(更容易…)