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