Есть такой код:
<?php
echo '<select size="1" name="country">'.str_replace('>'.$_SESSION['USER_COUNTRY'], 'selected>'.$_SESSION['USER_COUNTRY'], '<option value="0">Не скажу</option><option value="1">Украина</option><option value="2">Россия</option><option value="3">США</option><option value="4">Канада</option>').'</select>';
?>
После выбора информация сохраняется в БД и все вроде ок, но поле селектора не показывает сохранившуюся в БД информацию о уже выбранной стране. Как можно исправить?
Ну давайте порассуждаем...
$_SESSION['USER_COUNTRY'] будет содержать value выбранного option-a (я предполагаю, что где-то вы его корректно сохранили... потому что если нет - то это вообще задача с неизвестным числом неизвестных).
Давайте вычислим в вашем str_replace первые аргументы (предположим, я выбрал Украину):
'>'.$_SESSION['USER_COUNTRY'] превратится в >1 'selected>'.$_SESSION['USER_COUNTRY'] превратится в selected>1
Значит, вы берете вот такую строку (я укоротил до двух опшенов, чтобы проще было)
<select size="1" name="country"><option value="0">Не скажу</option><option value="1">Украина</option></select>, ищете в ней фрагмент >1 и меняете его на selected>1.
А теперь сами скажите, что пошло не так? :)
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости