我想创建一个自动填写表单。我有一个下拉菜单和一些表单字段,如文本框。 当在下拉菜单中选择Ajax调用用户点击启动,它会检查Mysql数据库的数据。如果找到记录,则会在相关文本框中显示数据。PHP AJAX:从MySQL中检索数据,并显示在表格
我的代码工作正常,但我无法从MySQL数据库返回数据。
<script type="text/javascript">
$(function() {
$("#autofill").change(function() {
var data1= $('option:selected', this).text();
$.ajax({
type: "GET",
url:"autofill.php",
cache: false,
dataType: 'json',
data: 'action1=' + data1,
beforeSend: function() {
$("#validation-errors").hide().empty();
},
success: function(data) {
if(data.success == false)
{
var arr = data.errors;
$.each(arr, function(index, value)
{
if (value.length != 0)
{
$("#validation-errors").append('<div class="alert alert-danger"><strong>'+ value +'</strong><div>');
}
});
$("#validation-errors").show();
$('html, body').animate({scrollTop: $("#validation-errors").offset().top}, 2000);
btn.button('reset');
} else {
data = JSON.parse(data);
$('#title').val('data.title');
$('#total').val('data.total');
$('html, body').animate({scrollTop: $("#features-left-image").offset().top}, 2000);
}
},
error: function(xhr, textStatus, thrownError) {
alert('Something went to wrong.Please Try again later...');
btn.button('reset');
alert(thrownError);
}
});
return false;
});
});
</script>
autofill.php
<?php
require_once('include/db.php');
if(isset($_GET['action1'])){
$search = strip_tags(trim($_GET['action1']));
$search = strtolower($search);
$search="%".$search."%";
$result = $mysqli->prepare("SELECT * FROM posting WHERE title LIKE ?");
$result ->bind_param("s", $search);
$result->execute();
$result->store_result();
//$result->bind_result($title);
//$data[]=$result;
echo json_encode($data);
}
?>
按我的理解,问题是各地。
//$result->bind_result($title);
//$data[]=$result;
echo json_encode($data);
请告诉我解决这个问题。
感谢
谢谢你的回答。 – Ironic
我试过你的代码,我可以看到数据在萤火虫响应标签下重新调整。但它不是在文本框中。这似乎是问题与AJAX代码。 – Ironic
你可以发布你在萤火虫控制台回来的东西吗?数据数组.. – Vincent