Я пытаюсь загрузить выпадающие значения опций на основе информации о базе данных. У меня есть следующий код и его работа отлично, но я не знаю, как кодировать в следующем, чтобы показать выбранное значение.
$output = null; foreach ($records->result() as $row) { $output .= "<option value='".$row->sub_category_id."'>".$row->sub_category_name."</option>"; } return $output;
Я знаю, что должен использовать что-то вроде следующего, но я не могу понять, как добавить следующий код вместе с указанными выше кодами.
if ($row->sub_category_id == $sub_category_id) {select="selected"}
Не могли бы вы показать мне?
благодаря 🙂
Вы почти закончили его правильно. Ну вот:
$output = null; foreach ($records->result() as $row){ $selected=""; if($row->sub_category_id==$sub_category_id) $selected="selected"; $output .= "<option $selected value='".$row->sub_category_id."'>".$row->sub_category_name."</option>"; } return $output;
Используйте тернарный оператор:
foreach ($records->result() as $row){ $output .= "<option value='".$row->sub_category_id."' " .$row->sub_category_id==$sub_category_id ? 'selected="selected"':''+ ">".$row->sub_category_name."</option>"; }
Вам нужно установить выбранное значение:
$selectedValue = 1; // Selected value in dropdown. foreach ($records->result() as $row){ $output .= "<option value='".$row->sub_category_id."'".($row->sub_category_id == $selectedValue ? " selected" : "").">".$row->sub_category_name."</option>"; } return $output;
Это должно сделать это красиво, где «$ sub_category_id» – это идентификатор выбранного в данный момент параметра
$sub_category_id = 1; //Selected ID $output = "<select>"; foreach ($records->result() as $row){ $selected = ""; if ($sub_category_id == $row->sub_category_id) { $selected = "selected='selected'"; } $output .= "<option value='{$row->sub_category_id}' {$selected}>{$row->sub_category_name}</option>"; } $output .= "</select>";