使用空格时,即时搜索不显示结果

时间:2013-05-28 20:43:11

标签: php jquery mysql

我正在尝试制作即时搜索脚本。当我输入查询时,一切正常,但是当我使用空格(空格)时,所有结果都会消失。我肯定知道我正在寻找的结果。

例如,我首先搜索:“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>"; 
}   
}

2 个答案:

答案 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等价物是&nbsp;;我假设您没有像这样将它们保存到数据库中)

答案 1 :(得分:0)