使用PHP从MYSQL填充的动态html/javascript下拉列表

使用PHP从MYSQL填充的动态html/javascript下拉列表,php,javascript,mysql,html,Php,Javascript,Mysql,Html,我想我一定错过了一些非常简单的东西(如果我错过了,我道歉) 我有一个包含javescript的html文档,在这个html文档中,我想创建一个下拉列表,它的值是根据mysql查询的结果自动填充的 我猜我需要运行一个php脚本来从数据库中获取信息,但是如何将这些信息输入下拉列表对我来说是个谜 请有人给我指出wright的方向——也许有人已经这样做了 我不能仅仅用PHP编写下拉列表,因为这意味着我将不再使用html页面,其他内容都在上面 非常感谢, Rob.欢迎来到web开发的世界。亲爱的,先做些搜

我想我一定错过了一些非常简单的东西(如果我错过了,我道歉)

我有一个包含javescript的html文档,在这个html文档中,我想创建一个下拉列表,它的值是根据mysql查询的结果自动填充的

我猜我需要运行一个php脚本来从数据库中获取信息,但是如何将这些信息输入下拉列表对我来说是个谜

请有人给我指出wright的方向——也许有人已经这样做了


我不能仅仅用PHP编写下拉列表,因为这意味着我将不再使用html页面,其他内容都在上面

非常感谢,


Rob.

欢迎来到web开发的世界。亲爱的,先做些搜索吧。 下面是一些代码,您可以通过这些代码完成任务

<select name='myselect'>
<?php
$q="select * from $table";
$rs=mysql_query($q);
if($rs && mysql_num_rows($rs))
{
  while($rd=mysql_fetch_object($rs))
  { 
   echo("<option value='$rd->id'>$rd->name</option>");
  }
}
?>
</select> 


如果您正在谈论一些奇特的Javascript下拉菜单列表,则有两部分:

  • 获取需要向用户显示的数据,并以已知结构(通常是一些
    )在html中打印它们。这只会创建一个列表,这是菜单通常应该是的

  • 使用一些javascript将这个简单的列表转换为您的下拉菜单


因此,首先你需要在你的代码中找到一个简单的列表,使用相同的结构将你的数据添加到其中,你的js脚本将能够对其进行转换。

这是一个非常广泛的问题,所以我可以给你一个广泛的答案。简单的指导方针

您有一些选择:

将PHP放入HTML中

  • 将.html重命名为.php或更改Web服务器设置(如果您使用Apache,则可能通过.htaccess)让php处理.html文件
  • 在适当的位置将类似的内容放入HTML代码中:
xy.php/html


使用Ajax加载数据

  • 保持HTML现在的状态
  • 编写一个PHP脚本以输出下拉列表
  • 编写Javascript以使用Ajax获取PHP脚本的输出,然后将其插入到DOM的适当位置
  • 缺点是没有JS的人看不到下拉列表
编辑:或采用Haza建议的方法


无论您选择哪一个,我都给您提供了搜索或进一步提问的关键字。

“我不能只用PHP编写下拉列表,因为这意味着我要离开html页面,我有其他所有内容。”对不起,但您能进一步解释一下吗?你的php代码没有理由让你离开它所在的html页面。我声称您当然可以使用php填充您的下拉列表(这似乎比使用JavaScript要简单得多)…这一切都非常混乱。我已经编写(阅读拼凑在一起)了一个html页面,其中包含许多Javascript函数,它们以某种方式完成了它们应该做的事情——即使用google maps API生成google地图。我想做的是,在同一个页面上生成下拉列表,这样当用户从动态创建的下拉列表中选择一个项目时,它会启动一个javascript函数以使用新信息(从下拉列表中)更改地图,并且html页面被称为my Joomla的包装项目!CMS。所以,正如我所说,这一切都非常非常混乱,我不是程序员。“再次谢谢你。”巴兹梅加卡帕说,“谢谢你。”。你能指导我以后如何完成这项工作吗/编写你的代码,突出显示并使用编辑器工具栏上的
{}
按钮或Ctrl+K。无需退出
谢谢,我认为我需要使用第二种方法(不管怎样,如果没有启用javascript,就无法查看页面的其余部分,所以这很好)。你能给我指出一些我可以从代码中抄袭的例子吗?我正在摸索着解决这个问题,我通过例子学到了更多。目前我正在学习一些教程,但并不真正理解DOM的用法。我可以很容易地从javascript函数中的html文档中调用.php,但我一直坚持的是将信息返回到javascript/html中并从php结果中构建下拉列表。再次感谢。要“调用”PHP,可以使用Ajax(XMLHttpRequest对象),通过它可以轻松检索PHP脚本的输出(这将是下拉列表的HTML)。然后,您甚至可以使用
innerHTML
插入它。了解以下技术示例:。您也可以使用jQuery,它对Ajax有很大帮助。此外,如果您对这里的任何答案都感到满意,请不要忘记接受您最喜欢的带有记号的答案。好的,这就是我现在所取得的进展(感谢迄今为止的所有帮助!)。我有一个.php,它可以生成我想要的下拉列表。代码的最后一位如下所示我现在要坚持的一点是,我需要在html/javascript页面中输入什么来拉入这个下拉列表。我为自己的厚颜无耻而道歉。我想这应该是我自己的问题。描述你迄今为止所做的一切,有人会帮助你。现在我可以说,您所要做的就是编写一个Javascript函数来调用php并获取其输出(您可以使用Ajax来实现)。然后可以将其插入HTML(Javascript DOM插入)。
<select name="fos">
<?php
  //php code to get data from mysql
  //foreach/while to iterate through elements
    echo '<option value="'.$key.'">'.$value.'</option>';
  //end of foreach/while
?>
</select>