在选择下拉选项时,从mysql数据库填充HTML表单字段


Populate the HTML form fields from mysql database on selecting dropdown option

我想根据下拉列表中选择的特定选项从数据库中填充文本字段。例如,下拉列表包含文章的标题,当我选择或点击某篇文章,使其成为"科学"时,来自科学数据库的内容应该以…的形式显示在文本区域。。。请任何东西都将不胜感激:)

下面是一个使用ajax检索信息的工作示例:(使用jQuery)

<!DOCTYPE HTML>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<div>
    <select id="myselect">
      <option>---</option>
      <option>Milk</option>
      <option>Coffee</option>
      <option>Tea</option>
    </select>
</div>
<div>
    <textarea id="result"></textarea>
</div>
<script>
    $(document).ready(function()
    {
        $('#myselect').change(function()
        {
            var selected = $(this).find(':selected').html();
            $.post('http://localhost/tests/ajax.php', {'beverage': selected}, function(data) {
              $('#result').html(data);
            });
        }); 
    });
</script>
</body>
</html>

这是您的ajax.php文件(更改代码以从数据库中检索信息)。

if (isset($_POST['beverage']))
{
    switch($_POST['beverage'])
    {
        case 'Milk':
            print 'Milk makes you grow!';
            break;
        case 'Coffee':
            print 'Coffee does not let you sleep!';
            break;
        case 'Tea':
            print 'Tea comes from China!';
            break;
        default:
            print 'Nothing was selected';
            break;
    }
}

实现它的两种方法:

首先,PHP没有ajax的方式:应该有两种形式。。第一个下拉列表包含从数据库预填充的数据。。。一旦用户提交了此表单(即javascript提交或传统的提交按钮点击),就可以通过将其作为值传递来根据查询语句的内容来评估数据。。。SELECT语句返回的数据随后会重新显示在同一页面上另一个表单的文本区域中。。

第二,使用ajax进行POST,而不是使用更快、更高效的双表单方法。。