Обновление выпадающего из базы данных SQL с использованием PHP

Я знаю, что это должно быть просто, но я просто не могу разобраться с этим.

У меня есть список континентов в базе данных SQL, которые я возвращаю с помощью PHP DBO и отображаю в выпадающем списке. Затем я хочу получить предпочтительный континент пользователей из базы данных sql и выбрать его в списке. Например, если список содержит Мир, Африку, Европу, Северную Америку и Южную Америку, но фаворитом пользователей является "Европа", я хочу, чтобы он был выбран. $getContinent это предпочтение пользователей.

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {

    if ($getContinent != ''){
        echo '<option value="' . $getContinent . '" selected="selected" >' . $row['CONTINENT_NAME'] . '</option>';
    }else{
        echo '<option value=' . $row['CONTINENT_ID'] . '>' . $row['CONTINENT_NAME'] . '</option>';
    }
}

Я был бы очень признателен, если бы кто-то мог поправить меня, поскольку я нашел некоторые примеры в Интернете, но не смог заставить их работать:)

3 ответа

Решение

Ваш код должен быть таким

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {

//just check if the option id is equal to the chosen value

    if ($getContinent != '' && $getContinent==$row['CONTINENT_ID'] ){


        echo '<option value="' . $getContinent . '" selected="selected" >' . $row['CONTINENT_NAME'] . '</option>';

    }else{
        echo '<option value=' . $row['CONTINENT_ID'] . '>' . $row['CONTINENT_NAME'] . '</option>';
    }
}

Все просто, как вы уже догадались:D

Вы можете использовать троичный оператор

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {
    echo '<option value="' . $row['CONTINENT_ID'] . 
         ($getContinent == $row['CONTINENT_NAME']) ? '" selected="selected"' : '"' . '>' . 
         $row['CONTINENT_NAME'] . '</option>';
}

Вы бы использовали что-то вроде этого:

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {
    echo '<option value="' . $row['CONTINENT_ID'] . '">' . $row['CONTINENT_NAME'] . '</option>';
}

Надеюсь, это поможет!

--al

Другие вопросы по тегам