2014-05-10 2 views
0

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'); 
}); 

형태 : 당신은 잘못 $_POST 변수를 사용하고

<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> 

답변

1

.

이 있어야한다 :

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

하지 :

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

해결, 내가 그 var에 하나를 우편으로 보내 BR 것입니다 JS 몰랐 도움을 U에게 아이 만 감사 –

관련 문제