我有一个使用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>";
}
?>
答案 0 :(得分:1)
$d
之前,echo
从未被提及,那么它的内容是什么?echo "<option value=" . $rows['Aim'] . "></option>";
有两个问题:第一,value
没有包含在引号中,其次,标记中没有内容,因此不会输出任何文本。尝试将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;
}