Как я могу создать <select> optgroups в HTML, используя данные из MySQL?

0

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

    <option>Genesis</option>
    <option>Exodus</option>
    <option>Leviticus</option>

Например, я хочу, чтобы это было так, что 1-20 - это определенная группа opt, а затем 20-60 - другая. Могу ли я сделать это, используя свой формат опций, если бы их нужно было пронумеровать так:

<option value="1">Genesis</option>
<option value="2">Exodus</option>
<option value="3">Leviticus</option>

Это для моего php-класса, но я не думаю, что php участвует в создании optgroups здесь, или это так? Спасибо, что вы поняли мой вопрос. Надеюсь на помощь.

Я извлекаю данные из mysql, используя это:

//Query the database for the results we want
$query = $mysqli->query("select distinct bname as Name from kjv"); ?>

И затем выведите его в раскрывающемся списке выбора, используя это:

    <select>
    <?php while($option = $query->fetch_object()){ ?>
        <option><?php echo $option->Name; ?></option>
    <?php } ?>
</select>
Теги:
select
optgroup

2 ответа

2

Использование:

<select>
    <?php 
    $i=1;
    while($option = $query->fetch_object()){ 
        if($i%10==1) echo "<optgroup label='Option Group'>";
        echo "<option value='$i'>".$option->Name."</option>";
            $i++;
        if($i%10==1) echo "</optgroup>";
    } 
    ?>
</select>
  • 0
    Собираюсь попробовать это. Я дам вам знать, как все прошло
  • 0
    Некоторые изменения сделаны, попробуйте сейчас
Показать ещё 4 комментария
0

Использование цикла while:

$query = "SELECT * FROM example"; 

$result = mysql_query($query) or die(mysql_error());

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

 echo "'<option value={$row['id']}>{$row['value']}</option>'";

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню