PHP - 填充HTML <select> </select>

时间:2014-05-05 01:31:48

标签: php html mysql

我可能会忽视某些内容,但这是我编写的代码,用于打印HTML select标记的内容。

    <form action="submit.php" method="post">
        <select name="List" id="List">
            <?php PopulateBox(); ?>
        </select>
    </form>

然后在我的PHP文件中:

function PopulateBox()
{

    //MySQL connection stuff up here

    $result = mysqli_query($con, "SELECT ItemNo FROM Items");
    while($row = mysqli_fetch_array($result))
    {
        echo "<option value=\"" . $row['ItemNo'] . ">" . $row['ItemNo'] . "</option>";       
    }
}

此表中目前有10个项目,但输出仅在HTML选择框中生成5个项目。

为什么会这样?

编辑:我在print_r时看到了这个:

mysqli_result Object
(
    [current_field] => 0
    [field_count] => 1
    [lengths] => 
    [num_rows] => 10
    [type] => 0
)

1 个答案:

答案 0 :(得分:2)

echo "<option value=\"" . $row['ItemNo'] . ">" . $row['ItemNo'] . "</option>";

从这一行开始,HTML输出中缺少一个结束引号。也许这会奏效:

echo "<option value=\"" . $row['ItemNo'] . "\">" . $row['ItemNo'] . "</option>";