Я создал страницу профиля в php, где пользователь, использующий раскрывающийся список html, выбирает пол.
Код html следующий:
Gender<select name="gender"> <option value=" "> EMPTY </option> <option value="Male">Male</option> <option value="Female">Female</option> </select>
После того, как пользователь выбирает пол, форма отправляет и сохраняет данные в базе данных. Все, что я хочу, это то, что в следующий раз, когда пользователь посещает страницу профиля, выпадающий список сохраняет значение, выбранное пользователем раньше. Например, если пользователь выбрал в раскрывающемся списке «мужчина», в следующий раз, когда он посетил страницу профиля, чтобы внести изменения, выпадающий список должен отображать «мужчина» в качестве выбранного значения (сохраняя его с предыдущего времени). Любая идея, как это сделать в PHP?
Что вам нужно сделать, так это дать selected
атрибуту параметр. Предполагая, что вы сохраняете информацию о профиле в сеансе и на вашем сервере включаете короткие теги, вы можете сделать что-то вроде этого:
Gender: <select name="gender"> <option value=" "> Not Selected </option> <option value="Male"<?=$_SESSION['gender'] == "Male" ? ' selected="selected"' : ''?>>Male</option> <option value="Female"<?=$_SESSION['gender'] == "Female" ? ' selected="selected"' : ''?>>Female</option> </select>
Существует довольно упрощенный способ сделать это, если вы используете форму. Кроме того, вы, вероятно, захотите использовать isset (), если он впервые посетил страницу.
<select name="gender"> <option value="male" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "male" ? "selected" : "" ?>>Male</option> <option value="female" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "female" ? "selected" : "" ?>>Female</option> </select>
Все это вставляет «выбран» в тег опции, если переменная $ _GET установлена, а последняя – это конкретная опция. Надеюсь это поможет!
Вы должны прочитать базу данных и добавить скрипт php, например:
<option value="Male" <?php if ($gender == "Male") { echo " selected"; } ?>>Male</option> <option value="Female" <?php if ($gender == "Female") { echo " selected"; } ?>>Female</option>