У меня есть музыкальная база данных с интерфейсом PHP, где вы можете добавлять/редактировать/удалять исполнителей, альбомы, треки с помощью веб-клиента. Последняя реальная проблема, с которой я столкнулся, - это выбрать поле выбора для автоматического выбора опции, которую я передаю на страницу.PHP/MySQL Автоматический выбор на основе предыдущей страницы
Пример:
На странице под названием «createCD.php» У меня есть этот код:
echo "<td><a href=\"editCD.php?cdTitle=".rawurlencode($row['cdTitle'])."&cdID=$row[cdID]&artID=$row[artID]&cdGenre=".rawurlencode($row['cdGenre'])."&cdPrice=$row[cdPrice]\" </a>Edit</td>";`
Это используется в качестве ссылки на следующей странице, и собирает всю информацию о альбом в базе данных и отправляется на страницу под названием «editCD.php».
Теперь на этой странице, вся информация используется для заполнения веб-страницы, как показано здесь (там больше, но для целей этого поста, только первые MATTERS выбора коробки):
Artist Name:
<!-- dropdown with artist name -->
<?php
echo '<select name= "artID" id="artID">';
while ($row = mysqli_fetch_assoc($result)){
echo '<option value="'.$row['artID'].'">'.$row['artName'].'</option>';
}
echo '</select>';
?>
<p>
Album Title:
<input id="cdTitle" type="text" name="cdTitle" value ="<?php echo htmlspecialchars($cdTitle); ?>" />
</p>
Что Я бы хотел, чтобы параметр «selected» для «artID» был значением, которое передается на страницу. Используя ассоциативный массив, я смог отобразить «artName», связанный с «artID». В настоящее время вся информация об альбоме отображается правильно, кроме «artName», и по умолчанию она соответствует первому значению. Это проблема, как если бы пользователь просто нажимал кнопку «Обновить», он обновляет имя до имени по умолчанию, поэтому случайно меняет запись базы данных.
Я знаю, что нужно использовать
<option selected ...>
, но я не уверен на синтаксис для использования.
Спасибо, это отлично работает. Также у меня есть валидация данных в начале каждого файла, но я не думал, что стоит упомянуть об этом сообщении. – Dan