【问题标题】:Create and fill combo box with mysql data with php使用 php 创建并填充带有 mysql 数据的组合框
【发布时间】:2021-10-30 00:05:42
【问题描述】:

我已经进行了谷歌搜索并找到了几个答案,但我无法让它发挥作用。我正在尝试从 ym mysql 数据库中读取一个字段,并创建并填充一个包含这些值的组合框。数据库连接有效,但我得到的只是一个值列表,没有组合框。我正在发布我的代码以及结果。

<?php
$cn=mysql_connect("localhost","username","password") or die(mysql_error());
mysql_select_db("db_name",$cn) or die(mysql_error());
$sql = "SELECT LoadNumber FROM tblLoads";
$result = mysql_query($sql);
?>
<select name="loads" size=1>
<?
while($ri = mysql_fetch_array($result))
{
echo "<option value=" .$ri['LoadNumber'] . ">" . $ri['LoadNumber'] . "</option>";
}
echo "</select> "
?>

这是我的输出:

1637825
1637933
1638102
1638109
1638574
1638683
>

拜托,这快把我逼疯了,我不明白我做错了什么。它不会创建组合框。

【问题讨论】:

  • 您能检查并提供您生成的 HTML 吗?例如,通过查看您的代码,我注意到您没有将 $ri['LoadNumber'] 的值用引号括起来。
  • 您没有关闭此echo "&lt;/select&gt; " 并确保启用了短标签。错误报告会表明“语法”错误是离题
  • 这个问题已经被浏览了超过2500次,没有人能给我一个积极的投票吗?这是个好问题。

标签: php mysql combobox


【解决方案1】:

您正在使您的代码复杂化!它的一部分是用 PHP 包裹的,一部分不是。

改变这个...

<select name="loads" size=1>
<?
while($ri = mysql_fetch_array($result))
{
echo "<option value=" .$ri['LoadNumber'] . ">" . $ri['LoadNumber'] . "</option>";
}
echo "</select> "
?>

到这里……

<select name="loads" id="loads">
<?php while($ri = mysql_fetch_array($result)) { ?>
<option value="<?php echo $ri['LoadNumber'] ?>"><?php echo $ri['LoadNumber'] ?></option>
</select>
<?php } ?>

最后...您应该停止在mysql_ 中编码!!!!它已被弃用,很快将不复存在。发生这种情况时,您所有使用 mysql_ 代码的网站都将停止运行。

你真的应该学习pdo_mysql

【讨论】:

  • 谢谢大家。还发现我在正文中有它,将它移到标题中并且它有点工作。
【解决方案2】:
Try this.
<select name="loads" size=1>
<?php while($ri =  mysql_fetch_array($result))
{
echo "<option value=" .$ri['LoadNumber'] . ">" . $ri['LoadNumber'] . "</option>";?>
<select>

只需从 php 脚本中移动最后一个选择。

【讨论】:

  • 将其添加到您的答案中并从 cmets 中删除
  • 这应该是公认的答案:比公认的答案简单易懂。
猜你喜欢
  • 1970-01-01
  • 2014-03-10
  • 2011-03-04
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多