我有一个搜索字段,它引用一个函数来查看我的数据库并获取我需要的人。这对PHP工作得很好,但是当我尝试用ajax做同样的事情时,它失败了。
搜索输入永远不会发布。
这是代码。我希望有人知道为什么。感谢。
Doctor.class.php
public function searchPatients($p_sSearch, $p_iUserid) {
include("Connection.php"); //open db
try
{
$sql = "SELECT * FROM tblUsers
WHERE UserLastname = '".$p_sSearch."'
and fk_DoctorId = ".$p_iUserid.";";
$rResult = mysqli_query($link, $sql);
return $rResult;
}
catch(Exception $e)
{
// no connection database
$feedback = $e->getMessage();
}
mysqli_close($link);
}
AJAX / save.php
include("../classes/Doctor.class.php");
$oDoctor = new Doctor();
try
{
$oDoctor->Search = $_POST['searchinput'];
$oDoctor->searchPatients($_POST['searchinput'], $_POST['userid']);
}
catch (Exception $e)
{
$feedback = $e->getMessage();
}
doctorindex.php
$("#search_overview").hide();
var searchinput = $("#searchinput").val();
$("#searchbutton").live("click", function() {
$.post("ajax/save.php", {searchinput: searchinput,
userid: <?php echo $_SESSION['id']; ?>},
function(data)
{
$("#patients_overview").hide();
$("#search_overview").fadeIn();
});
return false;
});
答案 0 :(得分:1)
看来您在页面加载时获取搜索输入值(当它为空时),而不是在点击搜索按钮后(当您在其中键入内容时)。
您可以尝试:
.post
:{searchinput:$("#searchinput").val()}
var searchinput
移动到点击事件的回调函数