<select name="select">
</select>
Я хочу заполнить вышеупомянутый тег со значениями от базы данных.
Я записал коду php до этого.
while($row=mysql_fetch_array($result))
{
}
$row выбирает выбирающие правильные значения.. как добавить его к <select>
помогите... В новинку для программирования
Как насчет чего-то вроде этого:
echo '<select name="select">';
while($row=mysql_fetch_array($result))
{
echo '<option value="' . htmlspecialchars($row['column_for_value']) . '">'
. htmlspecialchars($row['column_for_label'])
. '</option>';
}
echo '</select>';
Конечно, вам решать, какие элементы из $row
должны использоваться для значения и текста каждого
Просто убедитесь, что вы экранируете данные, поступающие из вашей БД - особенно если они могут содержать HTML; поскольку вы выводите HTML, это можно сделать с помощью htmlspecialchars
или htmlentities
.
Обратите внимание, что они могут принимать пару дополнительных параметров, которые я не использовал в своем примере - их установка может быть полезной, в зависимости от используемой вами кодовой таблицы.
echo '<select>';
while($row=mysql_fetch_array($result)) {
echo '<option>'.$row['whatever_index'].'</option>';
}
echo '</select>';
Замените 'whatever_index' на имя колонки, которую вы получаете.
Вы можете увидеть, что доступно для использования, сделав это в while:
var_dump($result);
exit;
Это выведет первый результат и содержимое его массива. Затем вы сможете увидеть, какое поле вы хотите использовать для заполнения опции. Отсюда можно сделать что-то вроде:
foreach ($result['field'] as $field) {
print '<option value="'.$field.'">$field</option>';
}
Конечно, это очень простой пример, и, как отмечали другие, вы можете захотеть очистить данные перед тем, как поместить их в форму.
$selected_value="selected_value";
echo '<select name="select">';
while($row=mysql_fetch_array($result))
{
if($selected_value==htmlspecialchars($row['column_for_value']))
$selected=' selected';
else
$selected='';
echo '<option value="'.htmlspecialchars($row['column_for_value']).'"'.$selected.'>'
.htmlspecialchars($row['column_for_label']).
'</option>';
}
echo '</select>';
Некоторое дополнение к коду Pascal MARTIN для автоматического выбора некоторого предопределенного значения
echo "<select>";
while( $option = mysql_fetch_array($result)) {
echo "<option>".htmlspecialchars($option['column'])."</option>";
}
echo "</select>";