如何在PHP中使选项组动态化?

时间:2016-04-26 17:23:18

标签: php mysql mysqli

我正在努力解决这部分代码,并希望有人能指出我正确的方向?

目前这些选项都是硬编码的,但我想让选择动态,因为我希望用户以后能够创建自己的文件夹。

目前系统工作正常,但我只需要最后一部分让我感到满意。我想循环遍历数据库中的库选项而不是硬编码。

硬编码选项:

$photo_form  = '<form id="photo_form" enctype="multipart/form-data" method="post" action="php_parsers/photo_system.php">';
$photo_form .=   '<b>Choose Gallery:</b> ';
$photo_form .=   '<select name="gallery" required>';
$photo_form .=     '<option value=""></option>';
$photo_form .=     '<option value="Myself">Myself</option>';
$photo_form .=     '<option value="Family">Family</option>';
$photo_form .=     '<option value="Pets">Pets</option>';
$photo_form .=     '<option value="Friends">Friends</option>';
$photo_form .=     '<option value="Random">Random</option>';
$photo_form .=   '</select>';
$photo_form .=   ' &nbsp; &nbsp; &nbsp; <b>Choose Photo:</b> ';
$photo_form .=   '<input type="file" name="photo" accept="image/*" required>';
$photo_form .=   '<p><input type="submit" value="Upload Photo Now"></p>';
$photo_form .= '</form>';

我尝试使选项动态化,循环播放:

$photo_form = '<select name="gallery">'
                <?php 
                    $query = mysqli_query($dbc, "SELECT gal_id, name FROM galleries");
                    while ($run = mysqli_fetch_array($query)){
                        $album_id = $run['gal_id'];
                        $album_name = $run['name'];
                        echo "<option value='$album_id'>$album_name</option>";
                    }
                ?>

无论我做什么,我都无法工作,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

<?php 
$photo_form .= '<select name="gallery">';          
if ($query = mysqli_query($dbc, "SELECT gal_id, name FROM galleries"))
{
    while ($run = mysqli_fetch_array($query)){
        $album_id = $run['gal_id'];
        $album_name = $run['name'];
        $photo_form .= "<option value='$album_id'>$album_name</option>";
    }
}
else {
    error_log(mysqli_error(), 0);

    $photo_form .= '<option>No Records</option>';
}
$photo_form .= '</select>'
echo $photo_form;
?>