циклы — раскрывающееся меню формы php foreach с выбранным тегом

Ребята, у меня есть выпадающий список, который, когда я нажимаю кнопку, я хочу отметить выбранную строку автоматически! мой код пока показан ниже, но я не могу заставить его работать … с ' " и т.п.

echo "<select id='form' name=form style='width:auto' class='form-control'>
<optgroup label='form_name'>";

foreach($results as $result)
{
$ID      = $result->ID;
$name    = $result->name;
$address = $result->address;

echo '<option value=$ID '.

**if(isset($_GET['form']) &&  $_GET['form'] == $ID ){  .' selected="selected" '. } else { .''. }**

.'>'.$ID. ". " .$name. " [" .$address.']</option>';

}
echo "</optgroup>
</select>;

заранее спасибо!!!

1

Решение

Вы можете переписать свой код следующим образом:

echo "<select id='form' name=form style='width:auto' class='form-control'>
<optgroup label='form_name'>";
foreach($results as $result)
{
$ID      = $result->ID;
$name    = $result->name;
$address = $result->address;

$selected = ( isset($_GET['form']) &&  $_GET['form'] == $ID ) ? ' selected="selected" ' : '';

echo '<option value=$ID '
. $selected
.'>'.$ID. ". " .$name. " [" .$address.']</option>';
}
echo " </optgroup>
</select>;
0

Другие решения

Вы должны использовать троичный оператор.
Тернарный оператор — это простое «если тогда еще» только в одной строке.

echo '<select id="form" name="form" style="width:auto" class="form-control">';
echo '<optgroup label="form_name">';

foreach ($results as $result) {
$id      = $result->ID;
$name    = $result->name;
$address = $result->address;

echo '<option value="' . $id . '" ' . (isset($_GET['form']) && $_GET['form'] == $id ? 'selected="selected"' : '') . '>' . $id . '. ' . $name . ' [' . $address . ']</option>';
}

echo '</optgroup>';
echo '</select>';
1

По вопросам рекламы [email protected]