我试图创建一个php mysql搜索引擎工作像一个电子商务搜索引擎与自动建议使用ajax?我的表就像
id cat name
1 men subi
2 men flick
3 women sheeba
4 women leena
my form is like
<html>
<head>
<title>search engine</title>
</head>
<body>
<form action = 'ss.php' method ='GET'>
<input type = "text" name = "q">
<input type = "submit" name = "submit" value = "search"
</body>
</html>
和我的ss.php是
$k = $_GET["q"];
$con = mysqli_connect("localhost", "root", "");
mysqli_select_db($con,"x");
$terms=explode(" ",$k);
$i=0;
$set_limit = ("9");
$subi = "";
foreach ($terms as $each)
{
$i++;
$escapedSearchString = mysqli_real_escape_string($con,$each);
if ($i == 1 )
$subi.= " title LIKE '%$escapedSearchString%' ";
else
$subi.= " AND title LIKE '%$escapedSearchString%' ";
}
$query = "select SQL_CALC_FOUND_ROWS * from table WHERE $subi order by rand() limit $set_limit";
$qry = mysqli_query($con,"$query");
$row_object = mysqli_query($con,"Select Found_Rows() as rowcount");
$row_object = mysqli_fetch_object($row_object);
$actual_row_count = $row_object->rowcount;
$result = $actual_row_count;
当我搜索subi或sheeba这样的单词时,它工作得很好但我想要的是,如果我开始输入单词's'它会显示自动提示,如
sheeba
subi
sheeba in women
subi in men
如果用户单击sheeba,查询将自动更改为如下
" select * from table where title like '%sheeba%' "
,如果用户点击'sheeba in women', 'll查询变成这样
" select * from table where cat = 'women' and title like '%sheeba%' "
如何获取?请简单回答…TNX提前....
如果你想创建自定义代码而不是使用插件,那么你需要这样的东西
$(document).ready(function() {
$("input[name='q']").on("keyup",function(event){
search_value = $(this).val();
// check whether the input is not empty or has characters
if(value.length > 0){
$.ajax({
url: '/path/to/file',
type: 'GET',
dataType: 'JSON',
data: "q="+search_value,
success: function(response){
// create suitable html body to show your reponse
$("suggestion_box_id").html("your/created/htmlcontent");
}
})
}
else {
$("suggestion_box_id").html("");
}
})
});
参考这里:这是php与ajax和自动建议的最佳示例