早上好;
我正在尝试将带有html,php和一些javascript的表单中的某些值从mysql数据库加载到“选择”中。
我正在做一个学校项目,我需要一些在数据库中注册的名称。当我单击选择项时,我希望他们出现,因此我可以注册一个班级并给他们一个班级主任(我不确定这是否用英语来称呼)。当我“编辑”该类时,我希望选择内容将数据库中的值放入数据库中,并希望它让我更改该值。
我有一个功能文件,可以帮助我使用网站上使用的功能,并且我做了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链接上的表。 有人能帮我吗? 谢谢。
答案 0 :(得分:1)
如果我正确地解决了您的问题,则问题是HTML选择元素中未知$dts
,因为它仅在DBRead11
的功能范围内。因此,在获取$dts
的值之前,您需要调用函数DBRead11()
并将返回的值保存到$dts
中。之后,由于数组$dts
应该包含数据库中所有行的属性nome
,因此可以遍历$dts
的所有条目(例如,使用foreach()
)并构造来自特定索引处的值的HTML选项元素。
除此之外,我认为您需要在$dts
函数中将DBRead11
初始化为$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的要求,请提供var_dump()
变量中的$dts
。否则,我无法确切地说出仅输出$option
($ dts的每个元素)是否足够。