我正在尝试制作即时搜索脚本。当我输入查询时,一切正常,但是当我使用空格(空格)时,所有结果都会消失。我肯定知道我正在寻找的结果。
例如,我首先搜索:“goog”,结果显示“google images”然后当我想进一步搜索并添加“google i”时,结果消失。谁能告诉我为什么?我正在使用PHP和jQuery脚本。
提前致谢。以下是代码:
HTML
<input type="text" name="q" id="searchq">
jQuery
$('#searchq').keyup(function() {
var srch_trm = $(this).val();
$.post('instantsearch.php', {squery: srch_trm}, function(resultz) {
$('#insresults').html(resultz);
});
});
PHP
if(isset($_POST['squery'])) {
$queryz = mysql_real_escape_string(htmlentities($_POST['squery']));
if(!empty($queryz)) {
$qurn = mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$queryz%' ORDER BY `id` ASC");
//Check if News were found and then display them.
if(mysql_num_rows($qurn) > 0) {
while ($srchrown = mysql_fetch_array($qurn)) {
echo $srchrown['title']."<br>";
}
}
答案 0 :(得分:1)
这是因为您要将搜索字词转换为htmlentities
。我在下面发布了工作代码:
if($_POST['squery']) {
$queryz = mysql_real_escape_string($_POST['squery']);
$qurn = mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$queryz%' ORDER BY `id` ASC");
while ($srchrown = mysql_fetch_assoc($qurn)) {
echo $srchrown['title']."<br>";
}
}
(空间的HTML等价物是
;我假设您没有像这样将它们保存到数据库中)
答案 1 :(得分:0)