将值从数据库导入到选择中

时间:2019-04-11 08:39:07

标签: php css mysql html5

早上好;

我正在尝试将带有html,php和一些javascript的表单中的某些值从mysql数据库加载到“选择”中。

enter image description here

我正在做一个学校项目,我需要一些在数据库中注册的名称。当我单击选择项时,我希望他们出现,因此我可以注册一个班级并给他们一个班级主任(我不确定这是否用英语来称呼)。当我“编辑”该类时,我希望选择内容将数据库中的值放入数据库中,并希望它让我更改该值。

enter image description here

我有一个功能文件,可以帮助我使用网站上使用的功能,并且我做了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链接上的表。 有人能帮我吗? 谢谢。

1 个答案:

答案 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的每个元素)是否足够。