2013-09-10 5 views
1

Я пытаюсь добавить «NEW» к непрочитанным сообщениям в папке «Входящие». Я не думаю, что могу использовать инструкцию if в эхо, и я пробовал и не понимал правильного использования тернарных операторов. Буду признателен за любую помощь. Большое спасибо. неПравильное использование тернарного оператора

Если read_yet = «нет», я хочу, чтобы добавить этот код в качестве еще одного эхо заявления:

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>'; 

} 
+0

Для меня, я предпочитаю использовать тройные операторы присваивания, например: '$ myValueSet = Исеть ($ _ POST ['myValue'])? «ДА»: «НЕТ». Первая часть - это выражение. Если это правда, он возвращает вторую часть, если false возвращает третью часть. –

ответ

2

Если вы добавляете другой столбец, я не предложил бы использовать тройной оператор и вместо того, чтобы просто использовать if:

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

Однако, если вы всегда выходной этот столбец и нужно изменить отображение, вы можете использовать тернарный оператор.

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

Примечание: Тройная может создавать шум линии. Таким образом, я предпочитаю временную переменную, вспомогательную функцию или традиционную if.

+0

Удивительно! Наличие колонки New & Read было правильным выбором. Спасибо огромное! Изучение этого варианта теперь поможет мне в будущем. – User007

2

Тройная так:

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

функционально эквивалентны:

if ($bar) { 
    $foo = 'true result'; 
} else { 
    $foo = 'false result'; 
} 
+0

+ для общего образования. –

Смежные вопросы