Javascript 使用jquery和php实时动态搜索MySQL表

Javascript 使用jquery和php实时动态搜索MySQL表,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我确信有很多文章都涉及这个主题,但是我尝试的每一段代码似乎都不起作用。如果这已经在其他地方得到了回答,很抱歉我找不到它 我正在尝试创建一个实时搜索,显示表中的所有数据,直到有人开始在输入字段中键入。一旦他们开始键入一个键,我想在我的表上运行一个select查询,以缩小结果范围,如果任何列包含当前正在键入的字符串,就像google在搜索栏中键入时开始显示结果一样 在我尝试使用$.get或$.post与运行MySQL搜索的php文件交互之前,我的代码似乎一直在运行。我对网络开发有点陌生,一直在自学,

我确信有很多文章都涉及这个主题,但是我尝试的每一段代码似乎都不起作用。如果这已经在其他地方得到了回答,很抱歉我找不到它

我正在尝试创建一个实时搜索,显示表中的所有数据,直到有人开始在输入字段中键入。一旦他们开始键入一个键,我想在我的表上运行一个select查询,以缩小结果范围,如果任何列包含当前正在键入的字符串,就像google在搜索栏中键入时开始显示结果一样

在我尝试使用$.get或$.post与运行MySQL搜索的php文件交互之前,我的代码似乎一直在运行。我对网络开发有点陌生,一直在自学,但这件事已经困扰了我两天了。以下是我目前拥有的代码,尽管我已经尝试了大约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(function() {
    // Test search letter entry is working 
    alert( "Handler for .keyup() called." );

    var s = $("#search").attr("value");    // Typed in letter
    // Pass an array of table contents
    // there are a couple ways you could approach the 'gathering' of table items...
    $(".individual-item-class").each(function(index, element) {
         if (!element.match(/s/))
             $(element:parent).css("display","none");
         else
             $(element:parent).css("display","table-row")
    }):
});
此代码不会让您离开地面,而是指向一个方向


您可以了解和了解一些jquery函数。这里使用的是,和。

那么什么不起作用呢?你有错误吗?发生了什么/您期望发生什么?如果您使用jQuery库,您应该使用jQuery选择器。代码更具可读性。例如:$“搜索”。键入。。而不是document.getElementByIdsearch.onkeyupsearchScript并使用jQuery函数。这只是我的意见