使用PHP将数据库中的数据输出到下拉框中

时间:2016-06-17 10:59:43

标签: php mysql mysqli

我有一个使用bootstrap样式设计的表单,我想从数据库中检索数据到下拉列表中。我尝试了这段代码,但是我得到了一个没有文字的列表。

    <div class="form-group"><label class="col-sm-2 control-label">Location</label>
    <div class="col-sm-8"><select class="form-control m-b" name=Location>
    <?php
    $mysqli = new mysqli( 'localhost', 'cshrnaf_user2', '=cXlIBsdMkdr', 'cshrnaf_mis_db' );
    /* check connection */
    if (mysqli_connect_errno())
    {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
    }
    $query = "SELECT * FROM adhoc";
    $result = mysqli_query($mysqli,$query);
    while($rows = mysqli_fetch_assoc($result))
    {
    echo "<option value=" . $rows['Aim'] . "></option>";

    echo "<option value='{".$d['Aim']."}'>".$d['Aim']."</option>";
    }
?> 

3 个答案:

答案 0 :(得分:1)

    在您尝试$d之前,
  1. echo从未被提及,那么它的内容是什么?
  2. echo "<option value=" . $rows['Aim'] . "></option>";有两个问题:第一,value没有包含在引号中,其次,标记中没有内容,因此不会输出任何文本。
  3. 尝试将while更改为:

    while($rows = mysqli_fetch_assoc($result)){
        echo "<option value='{$rows['Aim']}'>{$rows['Aim']}</option>";
    }
    

    只要$rows['Aim']包含您要输出的内容,就可以使用。

答案 1 :(得分:0)

     // cat  is array fetch from database

     <select name="cat" id="cat_id" style="width:170px" value="<?php echo $_POST['cat']; ?>">


<option value="0"></option>
    <?php
    foreach ($cat as $row) {
        ?>
                                                <option value="<?php echo $row->tag_cat_id ?>" ><?php echo $row->tag_cat_name ?></option>
        <?php }
    ?>
                                        </select>
                                            </select>

答案 2 :(得分:-1)

您应该在文件中选择数据库。以上只能连接到您的localhost。您应该使用变量名$ rows来获取所有获取值

if (!mysqli_select_db("mydbname")) {
    echo "Unable to select database: " . mysqli_error();
    exit;
}