Я пытаюсь сделать живой поиск с использованием AJAX, PHP и MYSQL.User-Profile.php содержит все пользовательские данные, извлеченные из базы данных, и есть поле поиска для ввода данных, чтобы найти пользователей, чье имя начинается с «xxx»
Используя сценарий AJAX, я получаю значение из поля вводаи отправьте его в search.php, где он запрашивает базу данных и получает результат поиска.
Используя Echo Alert Я обнаружил, что search.php получает значение из сценария AJAX, но не запрашивает базу данных, чтобы показать фактический результат.
Несмотря на то, что я ищу точные данные в таблице и базе данных, он выводит как оператор условия else "NO RECORDS FOUND".
Пожалуйста, найдите мой скрипт ниже и, пожалуйста, помогите мне его решить.
1.User-Profile.php
<head>
<script src="vendor/jquery/3.3.1/jquery.min.js">
</script>
<script src="vendor/ajax/libs/popper.js/1.14.6/umd/popper.min.js">
</script>
<script src="vendor/bootstrap/4.2.1/js/bootstrap.min.js">
</script>
</head>
<div class="container-fluid">
<div class="row justify-content-center"><div class="form-inline">
<label for="search" class="font-weight-bold lead">Search User</label>
<input type="text" name="search" id="search_text">
</div></div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<?php
$stmt=$con->prepare("select * from user");
$stmt->execute();
$result=$stmt->get_result();
?>
<table class="table" id="table-data">
<thead>
<tr>
<th>First Name</th>
<th>Mobile Number</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<?php while($row=$result->fetch_assoc()){ ?>
<tr>
<td><?= $row['fname']; ?></td>
<td><?= $row['mobile']; ?></td>
<td><?= $row['miruid']; ?></td>
</tr>
<?php } ?>
</tbody>
</table></div></div></div></div>
<script type="text/javascript">
$(document).ready(function(){
$("#search_text").keyup(function(){
var search = $(this).val();
$.ajax({
url:'search.php',
method:'post',
data:{query:search},
success:function(response){
$("#table-data").html(response);
}
});
});
});
</script>
2.search.php
<?php
require('php-includes/connect.php');
?>
<?php
$output='';
if(isset($_POST['query'])){
$search=$_POST['query'];
$stmt =$con->prepare("select * from user where fname like
concat('%',?,'%')");
$stmt->bind_param("ss",$search,$search);
}else{
$stmt = $con->prepare("select * from user");
}
$stmt->execute();
$result=$stmt->get_result();
if($result->num_rows>0){
$output="<thead>
<tr>
<th>First Name</th>
<th>Mobile Number</th>
<th>Email</th>
</tr>
</thead>
<tbody>";
while($row=$result->fetch_assoc()){
$output .="
<tr>
<td>".$row['fname']."</td>
<td>".$row['mobile']."</td>
<td>".$row['miruid']."</td>
</tr>";
}
$output .="</tbody>";
echo $output;
}else{
echo"<h3>No Records Found!</h3>";
}
?>