usascha
Новичок
присвоение элементу списка свойства 'selected'
Есть такой код
Если я закрываю цикл на строчке **1, то выводится только одна последняя запись.
Если закрываю как в коде, то выводится все что есть из базы. Почему так? Ведь должно работать и при первом варианте.
Если я не прав. То есть следующий вопрос, даже можно сказать, более важный:
Этот код - часть формы, которая собирается для внесения неких данных о книге в базу. Авторы уже есть в mysql-таблице и они выводятся в меню select'а этим кодом.
При заполнении данных о правильном авторе использую javascript:
<select name="author_id" onChange="this.form.author_id.value=this[this.selectedIndex].value">
или вторую часть указанного выше php-кода. Ни тот ни тот варианты не работают. Выдается сообщение: Duplicate entry '54' for key 1. Где цифра соответствует $authors_id.
Думаю, что key 1 это и есть это поле - author_id (как убедиться в этом не знаю), а duplicate оно потому что не могу присвоить выбранному параметру из select'а свойство 'selected'
Подскажите, что надо сделать.
Спасибо
Есть такой код
PHP:
$query = mysql_query("SELECT author_id, author_name
FROM authors
ORDER BY author_name ASC");
if (!$query) { echo("Ошибка в выборке автора: " . mysql_error() . "\n"); }
while ($row = mysql_fetch_array($query)) {
$authors_id = $row['author_id'];
$authors_name = $row['author_name'];
//**1 }
if($author_id != $authors_id){
echo "<option value=".$authors_id.">".$authors_name."</option>";
} else {
echo "<option value=".$authors_id." selected>".$authors_name."</option>";
}
}
Если закрываю как в коде, то выводится все что есть из базы. Почему так? Ведь должно работать и при первом варианте.
Если я не прав. То есть следующий вопрос, даже можно сказать, более важный:
Этот код - часть формы, которая собирается для внесения неких данных о книге в базу. Авторы уже есть в mysql-таблице и они выводятся в меню select'а этим кодом.
При заполнении данных о правильном авторе использую javascript:
<select name="author_id" onChange="this.form.author_id.value=this[this.selectedIndex].value">
или вторую часть указанного выше php-кода. Ни тот ни тот варианты не работают. Выдается сообщение: Duplicate entry '54' for key 1. Где цифра соответствует $authors_id.
Думаю, что key 1 это и есть это поле - author_id (как убедиться в этом не знаю), а duplicate оно потому что не могу присвоить выбранному параметру из select'а свойство 'selected'
Подскажите, что надо сделать.
Спасибо