【问题标题】:autocomplete can't get exact search query for a word自动完成无法获得单词的准确搜索查询
【发布时间】:2014-05-10 16:40:48
【问题描述】:

我尝试使用 jquery 自动完成功能 uisng php,mysql,但问题是 sql 查询获取表中的所有记录,而不是唯一与搜索词匹配的行

这个查询有什么问题,它获取所有记录而不是指定的记录

php代码:

if(isset($_POST['search_word']) && $_POST['search_word'] != ''){
    $q_title=$db->real_escape_string($_POST['asktitle']);


    $search_q=$db->query("select * from stack_ask where q_title like '%$q_title%' order by id desc limit 5 ");
    echo $search_q->num_rows;
    while($row=$search_q->fetch_assoc()){
        $row_title=$row['q_title'];

        ?>
        <div class="display_box" align="right">
        <a href="question?id=#" target="_blank"><?php echo $row_title; ?></a>
        </div>

        <?php

        }   

        }else{

            }

js

//autosuggestion
$('#asktitle').keyup(function(){
    var search_word = $(this).val();
    if(search_word.length > 4){
    $('#search_box').css({'display':'block'});
    $.ajax({
    type: 'POST',
    data: 'search_word='+search_word,
    url: 'includes/process_autosuggest.php',
    beforeSend: function(){
    $('#search_load').css({'display':'block'});
    },
    success: function(data){
    $('#search_load').css({'display':'none'});
    if(data == 1){
        $('#result_s').text('Searching 0 results .');
    }else {
        $('#result_s').html(data);
    }
    }


    });
    }else {
    $('#search_box').fadeOut('fast');
    }
});
$('#asktitle').blur(function(){
    $('#search_box').fadeOut('fast');
});

表格:

<form method="POST" action="" id="postproject" >
<input dir="rtl" id="asktitle" name="asktitle" type="text" autocomplete="off"  placeholder="ضع عنوان مناسب لسؤالك" class="validate[required,maxSize[50]] text-input"  required> 
</form>

【问题讨论】:

    标签: php jquery mysql autocomplete


    【解决方案1】:

    您使用了错误的 $_POST 变量。

    应该是:

    $q_title=$db->real_escape_string($_POST['search_word']);
    

    不是:

    $q_title=$db->real_escape_string($_POST['asktitle']);
    

    【讨论】:

    • 已解决,我不知道js var是通过邮寄方式发送的,谢谢你的帮助
    猜你喜欢
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多