Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示有关使用php mysql从下拉列表中选择值的数据,无需刷新页面或单击按钮_Php_Mysql - Fatal编程技术网

显示有关使用php mysql从下拉列表中选择值的数据,无需刷新页面或单击按钮

显示有关使用php mysql从下拉列表中选择值的数据,无需刷新页面或单击按钮,php,mysql,Php,Mysql,我在php表单上有一个下拉列表,我想在其中填充来宾名称,这已经完成,现在我想根据这个下拉列表中的值从表中加载数据,而不需要页面刷新/按钮提交。我该怎么做?我希望简单的代码可以在一个页面中实现,而不是在多个页面中实现。到目前为止,我看到的示例太复杂了,当我将它们合并到代码中时,它们就不再工作了。 下面是我在更改下拉列表时使用的函数: $("#guestname").change(function() { var id =

我在php表单上有一个下拉列表,我想在其中填充来宾名称,这已经完成,现在我想根据这个下拉列表中的值从表中加载数据,而不需要页面刷新/按钮提交。我该怎么做?我希望简单的代码可以在一个页面中实现,而不是在多个页面中实现。到目前为止,我看到的示例太复杂了,当我将它们合并到代码中时,它们就不再工作了。 下面是我在更改下拉列表时使用的函数:

    $("#guestname").change(function()
     {              
      var id = $(this).find(":selected").val();

      var dataString = 'action='+ id;
      $.ajax
      ({
        url: 'billing.php',
        data: dataString,
        cache: false,
        success: function(r)
        {
            $("#display").html(r);
        } 
      });
  })
这是我的billing.php代码,它根据第一个选择的值加载值,如果我再次从下拉列表中选择值,它不会显示更新的记录

<?php
 include('config.php');
 $action = $_REQUEST['action'];
 $stmt=$dbcon->prepare('SELECT discount FROM table_name WHERE name=:name 
 ORDER BY name');
 $stmt->execute(array(':name'=>$action));
 }
 ?>
 <div class="row">
 <?php
 if($stmt->rowCount() > 0){
 while($row=$stmt->fetch(PDO::FETCH_ASSOC))
 {
 extract($row);
 ?>

您可以在不刷新页面的情况下完成此操作,但您需要另一个php文件,我们将其命名为query.php以获得结果

在当前页面上

<select>
    <option value='bob'>Bob
    <option value='jane'>Jane
</select>

<div id='output'></div>

<script>
$('select').change(function(){
    let name = $(this).val();
    $.ajax({
        url: 'query.php',
        method: 'POST',
        data: {username: name},
        success: function(response){
            $('#output').html(response);
        }
    });
})

听起来像是JavaScription的工作,你需要JavaScript和AJAX。除此之外,我们无法提供帮助,因为我们不知道有关现有代码的任何具体信息。您可能需要注意,这需要jQuery,还有其他发送AJAX请求的方法,不需要额外的库
$username = $_POST['username'];
//query database to get your result
echo json_encode($result);