我有一个带有两列的mysql表;id
和type
。我正在尝试检索这些值以在值的选择列表(又名下拉列表)中使用。在我的html之外,此php可以完美地工作:
$sql = "SELECT * FROM `usertype`";
$query = mysqli_query($con, $sql);
while ($type_lov = mysqli_fetch_assoc($query)) {
echo '<pre>', print_r($type_lov,true), '</pre>';
};
从上面的PHP输出:
Array ( [id] => 1 [type] => System Admin )
Array ( [id] => 2 [type] => System Admin2 )
Array ( [id] => 3 [type] => System Admin3 )
Array ( [id] => 4 [type] => Account Admin )
Array ( [id] => 5 [type] => Account User )
要将其放入SELECT / OPTIONS标记中,我尝试了几次失败的尝试。对我来说最有意义(但没有用)的两次尝试是:
<!--ATTEMPT 1-->
<select>
<?php while ($type_lov = mysqli_fetch_assoc($query)) {
foreach ($type_lov as $id=>$type) { ?>
<option value="<?php echo $id; ?>"><?php echo $type; ?></option>
<?php };
}; ?>
</select>
<!--ATTEMPT 2-->
<select>
<?php foreach ($type_lov = mysqli_fetch_assoc($query) as $id=>$type) { ?>
<option value="<?php echo $id; ?>"><?php echo $type; ?></option>
<?php }; ?>
</select>
两者都不起作用。解决此问题的正确方法是什么?
您应该继续阅读mysqli_fetch_assoc
。它以关联数组的形式返回其数据,这意味着您的表列将用作该数组的索引。
此外,为什么在第一个示例中与foreach结合使用?您的思考过程是怎样的?
无论如何,这应该对您的旅程有所帮助:
<select>
<?php
while (($data = mysqli_fetch_assoc($query)))
{
echo '<option value="' . $data['id'] . '">' . $data['type'] . '</option>';
}
?>
</select>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句