Используя PHP для заполнения <выбор> </выбора>?

<select name="select">

</select>

Я хочу заполнить вышеупомянутый тег со значениями от базы данных.

Я записал коду php до этого.

while($row=mysql_fetch_array($result))
{

}

$row выбирает выбирающие правильные значения.. как добавить его к <select>

помогите... В новинку для программирования

9
задан deceze 17 March 2010 в 06:24
поделиться

5 ответов

Как насчет чего-то вроде этого:

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.

Обратите внимание, что они могут принимать пару дополнительных параметров, которые я не использовал в своем примере - их установка может быть полезной, в зависимости от используемой вами кодовой таблицы.

10
ответ дан 4 December 2019 в 09:36
поделиться
echo '<select>';
while($row=mysql_fetch_array($result)) {
  echo '<option>'.$row['whatever_index'].'</option>';
}
echo '</select>';

Замените 'whatever_index' на имя колонки, которую вы получаете.

0
ответ дан 4 December 2019 в 09:36
поделиться

Вы можете увидеть, что доступно для использования, сделав это в while:

var_dump($result);
exit;

Это выведет первый результат и содержимое его массива. Затем вы сможете увидеть, какое поле вы хотите использовать для заполнения опции. Отсюда можно сделать что-то вроде:

foreach ($result['field'] as $field) {
   print '<option value="'.$field.'">$field</option>';
}

Конечно, это очень простой пример, и, как отмечали другие, вы можете захотеть очистить данные перед тем, как поместить их в форму.

3
ответ дан 4 December 2019 в 09:36
поделиться

$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 для автоматического выбора некоторого предопределенного значения

3
ответ дан 4 December 2019 в 09:36
поделиться
echo "<select>";
while( $option = mysql_fetch_array($result)) {
  echo "<option>".htmlspecialchars($option['column'])."</option>";
}
echo "</select>";
1
ответ дан 4 December 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: