Я уверен, что существует ряд статей, посвященных этой теме, но каждый фрагмент кода, который я пытаюсь сделать, похоже, не работает. Если это уже было дано в другом месте, мне жаль, что я не смог его найти.Live Динамический поиск таблицы MySQL с использованием jquery и php
Я пытаюсь создать живой поиск, который отображает все данные в моей таблице, пока кто-то не начнет вводить поле ввода. Как только они начнут вводить ключ, я хочу запустить запрос select в моей таблице, чтобы сузить результаты, если какой-либо из столбцов содержит введенную в настоящее время строку (вроде того, как google начинает показывать результаты при вводе панель поиска).
Мой код, кажется, работает до тех пор, пока я не попытаюсь использовать либо $ .get, либо $ .post для взаимодействия с моим файлом php, который запускает поиск MySQL. Я отчасти новичок в веб-разработке и участвую в этом, когда я иду, но это уже два дня беспокоило меня. Вот код, который я в настоящее время (хотя я пробовал около 20 различных версий):
JQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
document.getElementById("search").onkeyup(searchScript());
function searchScript(){
var search = $("#search").val();
if(search==""){
return;
}
else{
$.get("resultspage.php",{search : search},function(result){
$("#results").html(result);
}});
}
</script>
<table id="results">
<?php
<...var assignments storing my db login data...>
$con=mysqli_connect($host,$username,$password,$database);
$sql="SELECT * FROM Registration";
if(mysqli_query($con,$sql)){
$result=mysqli_query($con,$sql);
}
else{
echo "error: " . mysqli_error($con);
}
while($row=mysqli_fetch_array($result))
{
<...code that displays the results...>
?>
</table>
Мой PHP файл
$search=$_GET['search'];
<...variables storing log in data...>
$con=mysqli_connect($host,$username,$password,$database);
$sql="SELECT * FROM Registration WHERE CONCAT(fName,lName,storeName,numLocations,primaryPhone,secondPhone,email,products) LIKE %$search%";
if(mysqli_query($con,$sql)){
$result=mysqli_query($con,$sql);
}
else{
echo "error: " . mysqli_error($con);
}
while($row=mysqli_fetch_array($result))
{
<...code that displays results....>
}
Любая помощь будет высоко ценится! Спасибо.
Так что же не получается? Вы получаете сообщение об ошибке? Что происходит/что вы ожидаете? –
Если вы используете библиотеку jQuery, вам следует использовать селектора jQuery. Код более читабельен. например. $ ('# search'). keyup (..) вместо document.getElementById («поиск»). onkeyup (searchScript()) и использовать функции jQuery. Единственное мое мнение – daremachine