Создание элемента списка по умолчанию при возврате значений из базы данных

#php #drop-down-menu

#php #выпадающее меню

Вопрос:

Я пытаюсь закодировать скрипт, чтобы пользователь мог щелкнуть выпадающее меню, чтобы они могли разместить, куда они хотели бы поместить определенную картинку (это выбор альбомов с картинками).

Я столкнулся с проблемой, у меня есть выпадающее окно в моем PHP-скрипте, но оно мне нужно, чтобы выбрать опцию, которую пользователь ранее выбрал с помощью идентификатора в базе данных.

Итак, в принципе, у меня есть идентификатор альбома, этот идентификатор вернет название альбомов, название будет показано пользователю, затем снова преобразовано в идентификатор, и определение того, на каком альбоме пользователь нажал в выпадающем списке, определит, какой идентификатор хранится в базе данных. Поэтому, когда я возвращаю идентификатор из базы данных, мне нужно, чтобы в раскрывающемся списке по умолчанию было выбрано то, что пользователь выбрал ранее. это мой код:

 <?php

echo "<select>";  

$query = mysql_query("SELECT * FROM albums");  

while($row = mysql_fetch_assoc($query))  
{

$option = $row['albumname'];  
$id = $row['id'];  

<option value="$id">$option</option>  

}  

echo "</select>";  

?>
  

Была бы признательна за помощь.

Комментарии:

1. Я думаю, те, чьи ответы вы не приняли, также были бы признательны за некоторую помощь.

Ответ №1:

Вы можете сделать это с помощью сеанса или файла cookie.

Или создайте таблицу с идентификатором пользователя и идентификатором последнего выбранного альбома и извлеките это. Обновите этот идентификатор после выбора еще раз.

Ответ №2:

Пока вы повторяете и записываете свой выпадающий список, проверьте, совпадает ли выбранный идентификатор с идентификатором каждого выпадающего списка — если это так, добавьте selected="selected"

 while($row = mysql_fetch_array($query)) {
    $selected = "";
    if($row['id'] == $selectedId) $selected = ' selected="selected"';
    echo '<option value="' . $row['id']?> . '"' . $selected . '>' . 
        $row['albumname'] . '</option>';
}