2
你好我真的坐在这里思考以下问题:如何使用关键字的搜索引擎
我有过类似的表运行的自我暗示的搜索引擎:
zipcode city sum
12345 town 5
我做的实现通过使用JavaScript来搜索每个要输入的字母的循环,直到那一点,我只能寻找一个关键字,例如可以是城市名称或邮政编码。
现在我想结合这两个,这样我就不再限制用户了这些两个,甚至当输入城市和邮政编码时,它会被发现。
为此我想通过到单独的每个关键词:
preg_split('/[\s]+/', $keywords);
这是目前的问题。使用这种方式,每个关键字将被插入到一个数组中。它是如何工作的:
在html中我有一个输入字段。在下面我有一个无序列表div。在这个div javascript会自动添加我的search.php文件的结果。看起来像:
include('../scripts/db_connect.php');
if (isset($_POST['search_term']) == true && empty($_POST['search_term']) == false) {
$search_term = $db->real_escape_string(htmlentities(trim($_POST['search_term'])));
$search_term_query = "SELECT * FROM `a` WHERE `b` LIKE '$search_term%'";
if ($result_query = $db->query($search_term_query)) {
while ($row = $result_query->fetch_assoc()) {
echo '<li>',
$row["a"],
' ',
$row["b"],
' ',
'(',
$row["c"],
')',
' </li>';
}
}
}
和我的javascript只处理一个关键字:
$(document).ready(function() {
$('.searchfield').keyup(function() {
var search_term = $(this).attr('value');
$.post('ajax/search.php', {search_term:search_term}, function(data) {
$('.result').html(data);
$('.result li').click(function() {
var result_value = $(this).text();
$('.searchfield').attr('value', result_value);
$('.result').html('');
});
});
});
});
所以此刻,我不知道如何解决。如果有人能帮助我,我真的很感激。谢谢。
您可能只想使用'explode'而不是'preg_split':http://micro-optimization.com/explode-vs-preg_split –