Javascript 使用AJAX在表中返回搜索结果

Javascript 使用AJAX在表中返回搜索结果,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在尝试使用PHP和AJAX在表中编写搜索结果,但到目前为止我还无法做到这一点。每当我按下搜索按钮,页面就会刷新,我无法调试。然而,当我删除对php文件的ajax请求时,我能够确定“dienst”和“ziekte”的值存储在js文件中(它不会像应该的那样刷新),但是每当我尝试访问php文件时,这不再起作用,因为它开始刷新(所有代码unver var request= 目标是:从一个表单中,我得到两个值(“dienst”和“ziekte”),我使用这些值运行一个简单的select查询,该查询将返

我正在尝试使用PHP和AJAX在表中编写搜索结果,但到目前为止我还无法做到这一点。每当我按下搜索按钮,页面就会刷新,我无法调试。然而,当我删除对php文件的ajax请求时,我能够确定“dienst”和“ziekte”的值存储在js文件中(它不会像应该的那样刷新),但是每当我尝试访问php文件时,这不再起作用,因为它开始刷新(所有代码unver var request=

目标是:从一个表单中,我得到两个值(“dienst”和“ziekte”),我使用这些值运行一个简单的select查询,该查询将返回几行。然后,这些行应转换为html中的tablerows作为搜索结果

守则:

search.js
文件:

$('#searchButton').on('click', function() {
event.preventDefault();
var dienst = $('[name="dienst"]').val();
var ziekte = $('[name="dienst"]').val();

var request = $.ajax({
    url: "ajax/searchresult.php",
    type: "POST",
    data: { 'dienst=' + dienst + 'ziekte=' ziekte },
    dataType: "json"
});

request.done(function( msg ) {
  $('#searchresults').html(msg);
});

request.fail(function( jqXHR, textStatus ) {
  alert( "Request failed: " + textStatus );
});

});
<?php

 include_once("classes/Db.class.php");
 include_once("classes/Patient.class.php");

 if (isset($_POST['ziekte'])) {

  try
   {
       $patient = new Patient();
       $patient->Dienst = $_POST['dienst'];
       $patient->Ziekte = $_POST['ziekte'];
       $results = $patient->SearchPatient();

       while($r = $results->fetch_assoc()){
                      echo "<tr>";

                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["voornaam"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["achternaam"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["username"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["leeftijd"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["beroep"] . "</a></td>";
                      echo "</tr>";
      }
   }
   catch(Exception $e)
   {
       $error = $e->getMessage();
   }
 }

?>
searchresult.php
文件:

$('#searchButton').on('click', function() {
event.preventDefault();
var dienst = $('[name="dienst"]').val();
var ziekte = $('[name="dienst"]').val();

var request = $.ajax({
    url: "ajax/searchresult.php",
    type: "POST",
    data: { 'dienst=' + dienst + 'ziekte=' ziekte },
    dataType: "json"
});

request.done(function( msg ) {
  $('#searchresults').html(msg);
});

request.fail(function( jqXHR, textStatus ) {
  alert( "Request failed: " + textStatus );
});

});
<?php

 include_once("classes/Db.class.php");
 include_once("classes/Patient.class.php");

 if (isset($_POST['ziekte'])) {

  try
   {
       $patient = new Patient();
       $patient->Dienst = $_POST['dienst'];
       $patient->Ziekte = $_POST['ziekte'];
       $results = $patient->SearchPatient();

       while($r = $results->fetch_assoc()){
                      echo "<tr>";

                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["voornaam"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["achternaam"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["username"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["leeftijd"] . "</a></td>";
                      echo "<td><a href='profiel.php?username=".$r["username"]."'>". $r["beroep"] . "</a></td>";
                      echo "</tr>";
      }
   }
   catch(Exception $e)
   {
       $error = $e->getMessage();
   }
 }

?>
DB类:

function Search($dienst, $ziekte ,$from)
{
    //SELECT *, IF( dienst = 'Psychiatrie', 1,0 ) + IF( ziekte = 'ADHD', 2,0 ) AS score FROM `patient_tbl` ORDER BY score DESC
    $query = "SELECT *, IF( dienst = '" . $dienst . "', 1,0 ) + IF( ziekte = '" . $ziekte . "', 2,0 ) AS score  FROM `" . $from . " ORDER BY score DESC";

        $this->last_query = $query;

    if($this->mysqli->query($query))
    {
        return true;
    } else {
        return false;
    }
}

在search.js中,$.ajax数据应该是一个查询字符串(数据:{'dienst='+dienst+'&ziekte='ziekte}),或者是一个对象(数据:{dienst:dienst,ziekte:ziekte},)

您的$patient->SearchPatient()是什么意思;看起来像?这只是我的DB的一个简单的选择函数…它应该会返回一些用户行。我会用它更新我的帖子!如果你放置console.log(msg),你会得到什么在您的request.done函数中?是否有任何结果?由于某种原因,我无法检查,因为我的页面一直在刷新。只有在删除var请求代码后,它才会停止刷新。
var request=$.ajax({url:“ajax/searchresult.php”,键入:“POST”,数据:{'dienst='+dienst+'ziekte='ziekte},数据类型:“json”});
我认为部分问题在于调用searchresults.php文件并希望它显示表。使用ajax时,它应该只返回一些数据,然后在html页面上显示表。