我正在尝试输出数据库中与下拉列表中学生的名字和姓氏相匹配的行。我有将名字和姓氏存储在变量 clickeditem 中的函数。我一定是在 Ajax/php 方面出错了,可能是访问变量的方式?当我单击下拉列表中的名称时,什么也没有发生。另外,我在 php 文件中回显了“结果”,我该如何更改它以便 ajax 可以处理“成功”?带有 html 和 ajax 的代码:
<script
$.ajax({
type: "POST",
url: "out.php",
data: {item : item},
success: function(data){
$("#result").html(data);
//alert(response);
}
});
});
</script>
我已经使用 explode 将名字和姓氏与字符串分开,因为它显然会合二为一。
最佳答案
您已经设置了一个测试,它将导致您的其余代码失败:
$student = isset($_POST['clickeditem']);
$student
将是“true”或“false”,而不是包含名字和姓氏的字符串。此时您的代码将失败。将行更改为:
$student = $_POST['clickeditem'];
现在 $student
已正确设置,其余代码应按预期工作。
查询本身也有错误(AND 应该去的地方有逗号):
WHERE student_forename=:forename, student_surname=:surname');
应该是:
WHERE student_forename=:forename AND student_surname=:surname');
最后一件事:你不能 echo $result;
因为它是你这部分代码中的一个数组:
if($result['count'] == 1){
echo $result;
}
您必须 echo $result['count'];
或 echo $result[0];
或将数组转换为另一种格式,该格式将由您返回AJAX 请求。
关于php - Ajax请求php文件输出mysql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42402144/