0

我正在尝试创建一个下拉菜单,该菜单将使用 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>";
}

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

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

4

2 回答 2

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>

是有关如何创建 HTML<select>标记的一个很好的参考。

于 2015-10-12T23:35:29.493 回答
0

尝试类似...

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

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

echo '</select>';
于 2015-10-12T23:35:14.813 回答