如何使用mysqli预处理语句填充下拉框(PHP)

时间:2015-01-27 19:37:59

标签: php mysqli prepared-statement

我试图弄清楚如何使用MySQL表中的数据填充表单中的下拉菜单。我在网上发现PHP手册有点帮助(http://php.net/manual/en/mysqli.prepare.php),但我还是没有完全理解它。

这是我到目前为止所拥有的......

function fillBuildings() {

    $stmt = $mysqli->prepare("SELECT * FROM buildings");
    $stmt->execute();
    $stmt->close();

    while ($stmt 

 }

我知道如何构建表单,我知道如何获取数据,我只是不知道应该循环获取数据。

1 个答案:

答案 0 :(得分:1)

您可以选择特定列并绑定结果。

$stmt = $mysqli->prepare("SELECT `id`, `name` FROM `buildings`");
$stmt->bind_result($id, $name);
$stmt->execute();
$stmt->store_result();

$blds = array();
while($stmt->fetch()){
    $blds[] = array(
        "id"  => $id,
        "name"=> $name
    );
}

?>

<select>
    <?php for($i = 0; $i < count($blds); $i++):?>
    <option value="<?=$blds[$i]["id"]?>"><?=$blds[$i]["name"]?></option>
    <?php endfor;?>
</select>