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);

【问题讨论】:

这个&lt;option value="&lt;?php echo $row['nome'];?&gt;"&gt;&lt;/option&gt;应该是&lt;option value="&lt;?php echo $row['nome'];?&gt;"&gt;&lt;?php echo $row['nome'];?&gt;&lt;/option&gt; 您没有在 &lt;option&gt;&lt;/option&gt; 之间添加任何内容 - 在 html 选择中,这是视觉内容所在的位置。也许您打算写类似&lt;option value="&lt;?php echo $row['id'];?&gt;"&gt;&lt;?php echo $row['nome'];?&gt;&lt;/option&gt; 的东西 - 这样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不填,则取内容的值,所以写&lt;option&gt;&lt;?= $row['nome']; ?&gt;&lt;/option&gt;也是一样的。

【讨论】:

感谢您的遮阳篷,但它仍然是空白的:/ @CarlosSantiago 你能用数据库内容编辑你的问题吗? @CarlosSantiago 那么您需要检查 a)您的查询实际上返回了任何行,并且 b)您的字段名称是正确的,并且 c)您没有任何错误。调试起来应该很简单。如果你学会做一些基本的调试,你可以自己解决这样的简单问题。这几乎可以肯定是一件简单的事情,但由于我们无法访问您的代码、您的数据、您的错误日志,甚至您的大脑,因此我们很难提供具体的帮助。 @CarlosSantiago mysqli_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中数据库的下拉列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在下拉列表中的页面加载上已经选择了一个选项,并且还可以更改 [重复]

下拉列表中的重复值 - MVC

从下拉列表中显示数据php

php中怎么把下拉列表中的数据按字母排序,并实现拼音的搜索啊

保存下拉列表的选定值并在另一个下拉列表/重复下拉列表中默认分配它

如何从mysql数据库填充下拉列表并且不应该重复值