如何在下拉菜单中使用查询结果?

时间:2015-10-12 23:22:31

标签: php for-loop dropdown

我正在尝试创建一个下拉菜单,该菜单将使用for循环从数据库中恢复某些字段作为选项。

我正在做以下事情:

for ($article_id=1; $article_id <=30; $article_id++) 
{
    $sqltitles = "SELECT title FROM articles WHERE article_id='$article_id'";
    $cursor = mysqli_query($db, $sqltitles) or die($sqltitles."<br/><br/>".mysql_error());
    $row = mysqli_fetch_row($cursor);
    $titles = $row[0];

    echo $titles;
    echo "</br>";
}

从数据库中抽取所有标题并一次显示一个。

有没有办法让所有这些标题显示为下拉菜单的选项,以便用户可以选择要阅读的标题?

2 个答案:

答案 0 :(得分:1)

这样的事情应该有效。我对查询的工作方式进行了修改。如果为查询中的一系列文章指定文章ID而不是仅指定一个特定ID,则应该只能为要检索的每个ID执行一个查询而不是一个查询。无论您是否决定使用我建议的方法,创建下拉菜单的语法都应该相同。

<select>
<?php 
    $sqltitles = "SELECT title FROM articles WHERE article_id BETWEEN 1 AND 30" ;
    $cursor = mysqli_query($db, $sqltitles) or die($sqltitles."<br/><br/>".mysql_error());
    while ($row = mysqli_fetch_row($cursor)) {
        echo '<option value ="' . $row[0] . '">' . $row[0] . '</option>';
    }
?>
</select>

Here是如何创建HTML <select>代码的好参考。

答案 1 :(得分:0)

尝试一下......

echo '<select name="dropdownname">';

foreach ($titles as $key => $val) {
    echo('<option value="' . $val .'">' . $val . '</option>');
}

echo '</select>';