如何使用mysql中的数据在<h>中创建<select> optgroups?</select>

时间:2013-09-22 18:06:53

标签: php html select optgroup

所以我从数据库中查询了大约60个数据字段。它们在页面源中看起来像这样:

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

例如,我想拥有它,以便1-20是某个选择组,然后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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>'";

}