Вывод и редактирование данных в выпадающем списке

karen12

Постоялец
Регистрация
26 Фев 2012
Сообщения
109
Реакции
4
Есть функция вывода данных

<?


$sql = 'SELECT `type` FROM `type`';
$result = mysql_query($sql);

// вывод на страницу
echo '<select name="director_type">';
print_r($rez_array);

// проходим весь массив и вывод данных массива с подстановкой.
while ($myrow = mysql_fetch_array($result,MYSQL_ASSOC)) {
echo '<option value="' . $myrow['type'] . '`"> ' . $myrow['type'] . ' </option>';
}
echo '</select>';


// Освобождаем память
mysql_free_result($result);

// закрываем соединение
mysql_close($db);

?>

этот код находится внутри <form action="" method="post"> пункт который я выбираю из кода "Form" отправляет к обработчику и он вносит выбранный пункт из кода в в таблицу "reception" в поле "director_type" (есть в коде). а пункты выводятся в код из таблицы "type" поле "type", тепер как вывести для редактирования выбранный и добавленный в таблицу "reception" пункт в селект чтобы по умолчению там стоял именно тот пункт который я внес в "reception"?

Есть вариант но этот вариант для статичных значений select option.

<option value="Твердый модель ИОЛ"<?php if ($row[iolodmod] == 'Твердый модель ИОЛ') echo ' selected="selected"'; ?>>Твердый</option>


Не знаю как поправить для динамичных значений-типа того что приведено наверху
 
Если предположить, что в reception есть поле id, то примерно так:
PHP:
$sql = 'SELECT `type` FROM `type`';
$sql2 = 'SELECT `director_type` FROM `reception WHERE `id`=118';
$result = mysql_query($sql);
$result2 = mysql_query($sql2);
$old_type = mysql_fetch_array($result2,MYSQL_ASSOC)['director_type'];

// вывод на страницу
echo '<select name="director_type">';
print_r($rez_array);

// проходим весь массив и вывод данных массива с подстановкой.
while ($myrow = mysql_fetch_array($result,MYSQL_ASSOC)) {
echo '<option value="' . $myrow['type'];
if ($myrow['type'] == $old_type)
    echo ' selected="selected"';
echo '"> ' . $myrow['type'] . ' </option>';
}
echo '</select>';
 
Если предположить, что в reception есть поле id, то примерно так:
PHP:
$sql = 'SELECT `type` FROM `type`';
$sql2 = 'SELECT `director_type` FROM `reception WHERE `id`=118';
$result = mysql_query($sql);
$result2 = mysql_query($sql2);
$old_type = mysql_fetch_array($result2,MYSQL_ASSOC)['director_type'];

// вывод на страницу
echo '<select name="director_type">';
print_r($rez_array);

// проходим весь массив и вывод данных массива с подстановкой.
while ($myrow = mysql_fetch_array($result,MYSQL_ASSOC)) {
echo '<option value="' . $myrow['type'];
if ($myrow['type'] == $old_type)
    echo ' selected="selected"';
echo '"> ' . $myrow['type'] . ' </option>';
}
echo '</select>';


Не работает, выводит превое значение поля type
 
я заметил и поправил эту отпечатку, все равне ен работает
Надо попробовать сделать запросы в SQL клиенте, потом поставить отладку. По идее, в $old_type должен попасть тип редактируемой записи и тогда должен добавиться в соответствующую option вывод selected="selected"
 
Надо попробовать сделать запросы в SQL клиенте, потом поставить отладку. По идее, в $old_type должен попасть тип редактируемой записи и тогда должен добавиться в соответствующую option вывод selected="selected"
я навичек, по этому все это для меня трудно сделать
 
я навичек, по этому все это для меня трудно сделать
Тогда поставьте после строки $old_type=... такую строчку:
PHP:
echo '<!--' .$old_type.'-->';
после чего вытащенное из базы значение будет записано в комментарий в HTML-код страницы. После чего покажите этот кусочек (<select> со всеми <option> и комментарий перед ним)
 
Назад
Сверху