【问题标题】:autopopulate fields with javascript and mysql query for dropdown使用 javascript 和 mysql 查询自动填充字段以进行下拉
【发布时间】:2012-12-06 03:05:15
【问题描述】:

我有一个关于如何从 mysql 数据库中的列自动填充下拉菜单的问题,然后根据用户的选择自动填充下面的字段。请帮忙!我的代码不会正确发布。我知道如何查询数据库并填充下拉列表,但我无法让下面的字段自动填充。

<?php
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);
header("Location: dashboard.html")
?> 
<?php
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());

else { 
mysql_select_db("Transgen", $con);?>
$query = "SELECT * FROM PartnerSetup" or die(mysql_error()); 
$result = mysql_query($query) or die(mysql_error()); 

    if(mysql_num_rows($result) > 0) {
        while($row = mysql_fetch_assoc($result)) { 
            echo ($row['Partner']); echo "<br/>"; 
        } 
    ?>

【问题讨论】:

  • 你能把你已经做过的事贴出来。这将使开发人员能够为您提供适当的帮助。
  • $query = "SELECT * FROM PartnerSetup" or die(mysql_error()); $result = mysql_query($query) 或 die(mysql_error()); if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_assoc($result)) { echo ($row['Partner']);回声“
    ”; } ?>
  • “编辑”您的问题代码,使用正确的格式。上面的帖子杂乱无章,难以阅读。
  • 以上是我能够正确执行的连接部分。
  • 即便如此。在您的问题中发布您的代码;使用正确的格式。开发人员将更容易阅读您的代码。没有人会努力查看代码并对其进行格式化

标签: php javascript html mysql


【解决方案1】:

是时候破解了;

首先是代码中的错误;

if (!mysql_query($sql,$con))

这应该在你的数据库连接信息中处理:

例子:

$host = "HOST";
$Username = "user"; 
$Password = "password"; 
$sql = mysql_connect("$host", "$Username", "$Password");
$conn = mysql_select_db("DATABASENAME", $sql); // Depending on what $sql and $con contain on your code. 

然后你的 if 语句:

如果 (!mysql_query($sql,$con)) {...}

应替换为:

if (!($sql))
{
   die('Error: ' . mysql_error());
} // Kills the script if correct information could not be used to access the database

你有回声

echo "添加了 1 条记录";

你的括号外{ or }

我假设这是在 function$_POST/$_GET 内 如果是,那就忽略上面的

如果不是,那么您的脚本将在不需要的情况下回显该字符串。这应该修改

您还过早关闭了您的 PHP 标签:mysql_select_db("Transgen", $con);?&gt;

^ 另外;在设置 $sql 之前,您有 !$sql 和 !con;上线:

$con = mysql_connect("localhost","root","password");

$con 在初始变量之后,如果您在显示的第一行之前没有设置 $con 和 $sql,这可能会返回错误。

因此您的$query 不会被执行,而是以纯文本形式显示给查看页面的用户/人。`

并回答您的问题;如果你打算通过 javascript 来做,那就上网看看吧。

这可以通过 PHP 完成,方法是使用带有一些查询的 while 循环来填充 PHP 它自身的下拉菜单。

<select name="SELECTNAME"> 
    <?PHP
        $DropDownQuery = mysql_query("SELECT * FROM PartnerSetup");
        while ($Rows = mysql_fetch_array($DropDownQuery))
        {
            $Partner = $Rows['Partner'];
            echo "<option value=\"$Partner\">$Partner</option>";
        } // This will enable the user to submit a "partner" if needed in a <form> </form> setup
    ?>
    </select>

我建议在您的代码中附加错误,我将根据已提交的内容以及我可以看到的内容进行说明。据我所知,我指出了可能/将返回错误的区域。

我还会研究 PDO 函数;因为 MySQL 已贬值,并将从未来的 PHP 修订版中删除。

【讨论】:

  • 这可以生成下拉菜单。现在我想根据用户从同一个表中的选择自动填充下面的两个字段。数据库结构 = VALUES(Partner_id, Partner, DestinationIP, DestinationPort)
  • 再次感谢您的帮助,我很感激。我开始沮丧自己无法恢复:)
  • @twatson0990 stackoverflow.com/questions/10525442/… 我建议在这里阅读这个主题;很高兴为您提供帮助,如果这篇文章对您有所帮助,请不要忘记 +1。另外,我对其他 cmets 是正确还是错误?仅据我所知
  • 你在我的朋友身上出现了。它不会让我 1+,因为我是新成员。我很抱歉。
  • 您的建议看起来像是在调用局部变量,而不是在数据库中查询可能的结果。 IT 正朝着正确的方向前进。但是,我希望自动填充字段从选定的两列中自动填充。我不希望它们本地化的原因是这将部署在两个单独的环境中,我宁愿更改数据库而不是更改页面脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
相关资源
最近更新 更多