2016-09-14 3 views
-5

Вот мой код:Я использую тернарный оператор?

echo "<option value=".$crew_rank_id.".(($crew_rank_id == $crew_rank) ? "selected" : "").>".$crew_rank_table."</option>"; 

, что им пытаются сделать, это эхо из выбранного значения из базы данных в echo

+1

Да, вы ... –

+0

Google это. Используйте этот форум, чтобы задать вопросы относительно проблемы, с которой вы столкнулись. И для вашего вопроса вы используете тройную операционную, но ваши '' 'не сбалансированы. –

+1

Проблема с вашим кодом заключается в том, что вы смешиваете инструкции PHP в строке, а ваши кавычки и теги HTML неуместны. –

ответ

0

Ваши смежные инструкции PHP и переменные PHP в строке и некоторые недостающие кавычки и HTML-теги.

Это должно работать:

echo "<option value='{$crew_rank_id}' ". (($crew_rank_id == $crew_rank) ? "selected" : "") . ">{$crew_rank_table}</option>"; 
+0

человек спасибо. ваш код действительно работал – Adi

0

попробовать это, проверка $crew_rank_id == $crew_rank магазин в переменную и присвоить ей в <option> теге

$selected = ""; 
if($crew_rank_id == $crew_rank) 
{ 
    $selected = "selected"; 
} 

echo "<option value=".$crew_rank_id.".$selected.>".$crew_rank_table."</option>"; 
+0

ваш код не имеет и ошибка, но это не соответствует правильному значению – Adi

0

Вам не хватает двойных кавычек в нескольких местах. Первый получил значение, а «выбранное» - одно слово, без интервала. Второй до закрытия тега опции.

echo "<option value=".$crew_rank_id." ".(($crew_rank_id == $crew_rank) ? "selected" : "").">".$crew_rank_table."</option>"; 
Смежные вопросы