Php 将数据添加到表中的选择框

Php 将数据添加到表中的选择框,php,html,mysql,Php,Html,Mysql,我正在创建相册库,并尝试从数据库表中提取相册标题,然后将相册标题添加到选择框中 我遇到的问题是,它只获得了一个头衔,而没有其他的头衔 当前发生的情况的示例选择框: 请选择 专辑标题1 我需要的示例选择框: 请选择 专辑标题1 专辑名称2 专辑名称3 专辑名称4 我需要选择框的值来包含相册的标题,因为我计划在另一个表中使用它。因此,该值不能是整数 这是我的密码: <select name="album"> <?php $db = DB::getInstance()

我正在创建相册库,并尝试从数据库表中提取相册标题,然后将相册标题添加到选择框中

我遇到的问题是,它只获得了一个头衔,而没有其他的头衔

当前发生的情况的示例选择框:

请选择 专辑标题1 我需要的示例选择框:

请选择 专辑标题1 专辑名称2 专辑名称3 专辑名称4 我需要选择框的值来包含相册的标题,因为我计划在另一个表中使用它。因此,该值不能是整数

这是我的密码:

        <select name="album">
<?php
$db = DB::getInstance();
$album = "SELECT `album_id`,`album_date`,`album_title` FROM `albums` ORDER BY `album_date` DESC";
$query = $db->query($album);
foreach($query->results() as $alb){
    ?>
        <option selected="selected" value="">Please Choose</option>
        <option value="<?php echo escape($alb->album_title); ?>"><?php echo escape($alb->album_title); ?></option>
        </select>
<?php } ?>

假设查询确实产生一些行,则需要正确创建循环:

<?php
$db = DB::getInstance();
$album = "SELECT `album_id`,`album_date`,`album_title` FROM `albums` ORDER BY `album_date` DESC";
$query = $db->query($album);
?>
<select name="album">
    <option selected="selected" value="" disabled>Please Choose</option>
    <!-- just put the loop where it needs to be -->
    <?php foreach($query->results() as $alb): ?>
        <option value="<?php echo escape($alb->album_title); ?>"><?php echo escape($alb->album_title); ?></option>    
    <?php endforeach; ?>
</select>

Please choose和在foreach中,因此它们被多次调用

将其更改为:

?>
<option selected="selected" value="">Please Choose</option>
<?php
foreach($query->results() as $alb){
    ?>
        <option value="<?php echo escape($alb->album_title); ?>"><?php echo     escape($alb->album_title); ?></option>
<?php } ?>
</select>

你意识到你在每个循环迭代中创建了“请选择”选项并关闭了“选择”元素吗?你的“请选择”应该在循环之外。啊,该死的,很好。我忽略了这一点。谢谢你的帮助和这个小提示。value=残疾人从你身上学到了两件事。再次感谢。