1

我正在尝试将“新”添加到收件箱中的未读邮件。我认为我不能在 echo 中使用 if 语句,并且我尝试过但未能理解三元运算符的正确使用。我将不胜感激任何帮助。非常感谢。

如果 read_yet = 'no' 我想将此代码添加为另一个 echo 语句:

echo '<td>NEW</td>' ;

这是我当前的收件箱代码。

$sql = mysqli_query($con, "select * from messages 
WHERE deleted = 'no' AND to_user = '" . $_GET['username'] . "'
ORDER BY id DESC");

while ($row = mysqli_fetch_array($sql)){

echo '<tr>';
echo '<td><a href="profile.php?username=' ;
echo $row['from_user']  ;
echo '">';
echo '<img id="usersimage" src="images/profileimg/thumbnail_'.$row['from_user'];
echo '.jpg"</a></td>' ;
echo '<td><a href="users.php?username=' ;
echo $row['from_user']  ;
echo '">';
echo $row['from_user'];
echo "</a></td><td><a href='messageid.php?id=".$row['id']."'><font color='#b2ccdb'>" .$row['subject'] ;
echo '</a></font></td>';
echo '</tr>';

}
4

2 回答 2

2

如果您要添加另一列,我不建议使用三元运算符,而是简单地使用if

if ($row['read_yet' == 'no') {
    echo '<td>NEW</td>';
}

但是,如果您总是输出此列并需要更改显示,则可以使用三元运算符。

echo '<td>' . ($row['read_yet' == 'no' ? 'NEW' : 'READ') . '</td>';

注意:三进制会产生线路噪声。因此,我更喜欢临时变量、辅助函数或传统if的 .

于 2013-09-10T17:16:05.197 回答
2

像这样的三元组:

$foo = ($bar) ? 'true result' : 'false result';

在功能上等同于:

if ($bar) {
   $foo = 'true result';
} else { 
   $foo = 'false result';
}
于 2013-09-10T17:17:05.287 回答