gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 12:58:00 25 4
gpt4 key购买 nike

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

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

代码:

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 );
});

});

searchresult.php 文件:

<?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();
}
}

?>

结果的 html 文件:

<div class="page-tables">
<!-- Table -->
<div class="table-responsive">
<table cellpadding="0" cellspacing="0" border="0" id="data-table" width="100%">
<thead>
<tr>
<th>Voornaam</th>
<th>Achternaam</th>
<th>Username</th>
<th>Leeftijd</th>
<th>Beroep</th>
</tr>
</thead>

<tbody id="searchresults">

</tbody>

</table>
<div class="clearfix"></div>
</div>
</div>
</div>

SearchPatient 函数

public function SearchPatient()
{

$db = new db('localhost', 'root', '', 'project');
$res = $db->Search( "'" . $this->Dienst . "'", "'" . $this->Ziekte . "'" , "patient_tbl");
return $res;

}

数据库类:

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 数据应该是查询字符串 ( data: { 'dienst=' + dienst + '&ziekte=' ziekte } ) 或对象 ( data: { dienst:dienst, ziekte:ziekte }, )

关于javascript - 使用 AJAX 在表中返回搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23742771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com