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

时间:2011-03-17 11:00:26

标签: php javascript mysql html

我想我必须在这里遗漏一些非常简单的事情(如果我是道歉的话)。

我有一个带有javescript的html文档,在那个html文档中,我想创建一个下拉列表,其值从mysql查询的结果中自动填充。

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

请有人指出我在正确的方向 - 也许是某人已经做过这个的例子。

我不能只用PHP编写下拉列表,因为这意味着要远离我拥有其他所有内容的html页面。

非常感谢,

罗布。

3 个答案:

答案 0 :(得分:5)

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

你有一些选择:

将PHP放入HTML

  • 将您的.html重命名为.php或更改您的网络服务器设置(通过.htaccess可能,如果您使用Apache)让php处理.html文件
  • 在适当的地方把这样的东西放到HTML代码中:

xy.php / HTML

<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>

使用Ajax加载数据

  • 保留现在的HTML
  • 编写PHP脚本以输出下拉列表
  • 编写Javascript以使用Ajax获取PHP脚本的输出,然后将其插入到适当位置的DOM中
  • 缺点是没有JS的人不会看到下拉列表

编辑:或采取哈扎建议的方法

无论您选择哪种方式,我都会向您提供搜索关键字或在

上提出更多问题

答案 1 :(得分:2)

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

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

  • 使用一些javascript将此简单列表转换为下拉菜单。

所以,首先你需要在你的代码中找到它的一部分是简单的列表,使用相同的结构将数据添加到它中,并且它们,你的js脚本将能够转换它。

答案 2 :(得分:1)

欢迎来到网络开发的世界。亲爱的,我首先尝试做一些搜索。 以下是一些可以完成任务的代码

<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>