php中数据库的下拉列表[重复]
Posted
技术标签:
【中文标题】php中数据库的下拉列表[重复]【英文标题】:Dropdown from database in php [duplicate] 【发布时间】:2019-05-11 07:23:18 【问题描述】:我尝试了一些代码来从我的数据库中获取 dropdown
选择,但输出总是空白,我不知道为什么
或者也许自动完成应该是更好的解决方案?
<select id="selectbox" name="selectbox"><br>
<?php <br>
$result = "SELECT * FROM colaboradores"; <br>
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) ?> <br>
<option value="<?php echo $row['nome'];?>"></option><br>
<?php ?> <br>
</select>
更新
$conexao=mysqli_connect('localhost','root','','bsh');
$result = mysqli_query("SELECT * FROM colaboradores", $conexao);
【问题讨论】:
这个<option value="<?php echo $row['nome'];?>"></option>
应该是<option value="<?php echo $row['nome'];?>"><?php echo $row['nome'];?></option>
您没有在 <option>
和 </option>
之间添加任何内容 - 在 html 选择中,这是视觉内容所在的位置。也许您打算写类似<option value="<?php echo $row['id'];?>"><?php echo $row['nome'];?></option>
的东西 - 这样ID 就是要回传的值,而名称是用户看到的友好事物。其次,除非您遗漏了一些代码,否则您似乎从未真正执行过您的查询?
您选择的查询不正确,需要使用mysqli_query()
函数
除了所有其他提示外,您还应该检查错误。我认为mysqli_fetch_array
不会抱怨第一个参数的输入类型错误
@CarlosSantiago 您应该read the manual 检查 mysqli_query 的语法。在您的情况下,它应该是$result = mysqli_query($conexao, "SELECT * FROM colaboradores");
。首先是数据库链接值。这将在你的 PHP 中产生一个错误 - 你应该确保你打开了错误报告以便你可以看到它。
【参考方案1】:
两件事:
首先,查询没有被执行,你只是把它作为字符串放在一个变量中。像这样执行您的查询:
$result = mysqli_query($conn, "SELECT * FROM colaboradores");
其次,options里面要填写你想要显示的内容,例如
<option value="<?= $row['nome']; ?>"><?= $row['nome']; ?></option>
注意如果value
不填,则取内容的值,所以写<option><?= $row['nome']; ?></option>
也是一样的。
【讨论】:
感谢您的遮阳篷,但它仍然是空白的:/ @CarlosSantiago 你能用数据库内容编辑你的问题吗? @CarlosSantiago 那么您需要检查 a)您的查询实际上返回了任何行,并且 b)您的字段名称是正确的,并且 c)您没有任何错误。调试起来应该很简单。如果你学会做一些基本的调试,你可以自己解决这样的简单问题。这几乎可以肯定是一件简单的事情,但由于我们无法访问您的代码、您的数据、您的错误日志,甚至您的大脑,因此我们很难提供具体的帮助。 @CarlosSantiagomysqli_query
语法是 mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
【参考方案2】:
你写:
$result = mysqli_query("SELECT * FROM colaboradores", $conexao);
应该是:
$result = mysqli_query($conexao, "SELECT * FROM colaboradores");
然后
<select id="selectbox" name="selectbox">
<?php
while($row = mysqli_fetch_assoc($result))
echo "<option value='$row['nome']'>$row['nome']</option>";
?>
</select>
【讨论】:
以上是关于php中数据库的下拉列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在下拉列表中的页面加载上已经选择了一个选项,并且还可以更改 [重复]
php中怎么把下拉列表中的数据按字母排序,并实现拼音的搜索啊