HTML <select> 元素采用 <option> 元素列表:
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
该 sn-p 将生成一个下拉列表以从选项选项 1 和选项 2 中进行选择,其值分别为 1 和 2:https://jsfiddle.net/ux245gz3/
对于您的情况,您创建的每个 <li> 元素都应该是 <option> 内的 <select> 块:
<div class="container-fluid">
<div class="container">
<select id="subject_selection">
<?php
$query = "SELECT def_conteudo FROM conteudo WHERE nro_conteudo BETWEEN 1 AND 100";
$result = mysqli_query($con,$query);
while($fetch = mysqli_fetch_row($result)){
echo "<option value=\"$fetch[0]\">" . $fetch[0] . "</option>";
}
?>
</select>
</div>
</div>
这将生成每个主题名称的列表,其中选择的值设置为显示的名称。 MDN article on <select> 将有更多相关信息。
更新以回答完整问题:
您需要更新查询以选择每个主题的显示值和 ID(假设 'conteudo' 表的主键称为 'id':
SELECT id, def_conteudo FROM conteudo WHERE nro_conteudo BETWEEN 1 AND 100;
然后你可以使用 id 作为每个选项的值:
<?php
$query = "SELECT id, def_conteudo FROM conteudo WHERE nro_conteudo BETWEEN 1 AND 100";
$result = mysqli_query($con, $query);
while ($fetch = mysqli_fetch_row($result)) {
echo "<option value=\"$fetch[0]\">$fetch[1]</option>";
}
?>
然后,一旦用户从下拉列表中选择了一个选项,您就可以对页面执行 GET 并通过表单提交的主题 ID 查询与所选主题有适当关系的问题或课程。
SELECT * FROM <licao/pergunta> WHERE contuedo_id = $_GET["id"];
出于友好的考虑,此时您应该考虑使用 PHP's PDO library 之类的东西来自动处理动态生成的 SQL 语句的清理。