早上好;
我正在尝试将一些值从 mysql 数据库加载到“select”,在一个带有 HTML、PHP 和一些 javascript 的表单中。
我正在做一个学校元素,我需要一些在数据库中注册的名字。当我点击选择时,我想让他们出现,这样我就可以注册一个类(class)并给他们一个类主任(我不确定英语中是否这样称呼)。当我“编辑”该类时,我希望选择将数据库中的值放入数据库中,并且我希望它让我更改该值。
我有一个函数文件可以帮助我完成我在网站上使用的函数,我制作了这样的 de select 代码。
function DBConnect ()
{
$db = mysqli_connect (DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die (mysqli_connect_error());
return $db;
}
function DBClose($db)
{
mysqli_close($db) or die (mysqli_error($db));
}
function DBExecute($sql)
{
$db = DBConnect();
$result = mysqli_query($db,$sql);
DBClose($db);
return $result;
}
function DBRead11()
{
$sql="SELECT nome FROM user_especial";
$result=DBExecute($sql);
while($res=mysqli_fetch_assoc($result))
{
$dts[]=$res;
}
return $dts;
}
我在 php 页面上使用的代码是这样的:
<select name="diretor_turma" id="diretor_turma" required class="input-field4">
<?php echo $dts; ?>
</select>
我的数据库看起来像我放在第一个 imgur 链接上的表格。 有人能帮我吗? 谢谢。
最佳答案
如果我正确地解决了您的问题,问题是 $dts
在 HTML select 元素中是未知的,因为它仅在 DBRead11
的函数范围内。因此,在获取$dts
的值之前,需要调用函数DBRead11()
,并将返回值保存到$dts
中。之后,因为数组$dts
应该包含数据库中所有行的属性nome
,所以你可以遍历$dts
的所有条目(例如使用 foreach()
)并根据特定索引处的值构造一个 HTML 选项元素。
除此之外,我认为您需要在 DBRead11
函数中将 $dts
初始化为 $dts = array()
或 $dts = []
在向其添加值之前。
function DBRead11() {
$sql="SELECT nome FROM user_especial";
$result=DBExecute($sql);
$dts = mysqli_fetch_assoc($result);
return $dts;
}
<?php $dts = DBRead11(); ?>
<select name="diretor_turma" id="diretor_turma" required class="input-field4">
<?php
foreach($dts as $option) {
?>
<option value="<?php echo $option['nome']; ?>"><?php echo $option['nome']; ?></option>
<?php
}
?>
</select>
正如@M.Hemant 已经提出的,请提供$dts
变量的var_dump()
。否则,我无法准确判断仅输出 $option
($dts 的每个元素)是否足够。
关于php - 将值从数据库导入到选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628154/