gpt4 book ai didi

php - 将 MySQL 数据调用到下拉列表中

转载 作者:行者123 更新时间:2023-11-29 13:44:23 25 4
gpt4 key购买 nike

这就是我的问题。我有一个关于数据库名称“国家”的表。它有两列:“国家”和“id”。我正在尝试从该表中获取数据并将其放入注册表单的投递箱中。这是我所拥有的(为了您的方便而简化):

$dbase_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

<form method="post" action="register.php" name="registerform">
<select id="country_list">
<script type="text/javascript">
var select = document.getElementById("country_list");
<?php

while($row = $dbase_connection->query("SELECT * FROM countries")->fetch_array()){
?>
var option = document.createElement("option");
option.textContent = <?php $row['country_name']; ?>;
option.value = <?php $row['id']; ?>;
select.appendChild(option);
<?php
}
?>
</script>
</select>
</form>

没有返回错误。该脚本尝试在浏览器中加载下拉框,但几乎就在那里中断了。所以我留下了一个空的下拉框,并且没有加载它前面应该显示的元素(提交按钮等)。

根据我的业余观察,它看起来相当困惑,我已经被这个问题困扰了几个小时。我在这个网站上遇到的第一个问题,请让我知道我需要添加哪些其他信息。

最佳答案

PHP 可以将文本(包括 HTML)直接发送到您的页面中,因此您可以生成 <option>直接列出来。您的解决方案是根据 PHP 发出的值在 Javascript 中创建元素,这种解决方案不必要地复杂。

您使用 mysqli 函数会重复调用数据库,并且可能会重复返回第一行。

这是我的解决方案,为了您的乐趣而简化;)

<?php

$dbase_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$result = ($dbase_connection->query("SELECT * FROM countries") or die($dbase_connection->error);
?>
<form method="post" action="register.php" name="registerform">
<select id="country_list">

<?php

while($row = $result->fetch_array()){
echo "<option value='".$row['id']."'>".$row['country_name']."</option>";
}
?>
</select>
</form>

关于php - 将 MySQL 数据调用到下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com