2013-08-20 101 views
0

單擊我的頁面中的搜索按鈕後,它通常會輸出查詢結果。不過,對於字段值有空白的情況,我有一個問題。所以我正在做的是修剪字符串並使用LIKE語句在數據庫中查找它。在ajax中搜索不會返回帶空格的結果

$(document).ready(function(){ 
$('#btnsearch').click(function(e) { 
     $("#content0 #sub_cont0").load("view/search.php?document=<?php echo $_GET['document']; ?>&stat=<?php echo $_GET['stat']?>&ac=<?php echo $_GET['ac']; ?>&fac=<?php echo $_GET['fac']; ?>&val=" + $("#txtsearch").val() + "&model=<?php echo trim($_GET['model']);?>"); 
     $(".tblmodellist").fadeOut("slow"); 
    }); 
}); 

示例我將搜索單詞「套管」。在類別模型=「測試模型」下。在數據庫中查詢時,它不會使用此查詢輸出任何內容。 注意:在上面的腳本中,我修剪了模型,因此輸出將僅爲「測試」。但它仍然不會返回我的預期結果集。

$sql = "SELECT * FROM $db WHERE (
    FileName LIKE '%" . $id . "%' OR 
    $title LIKE '%" . $id . "%' OR 
    $no LIKE '%" . $id . "%') 
    AND (Stat = '$stat' AND Model LIKE '%".$model."%') 
    "; 

你認爲我的ajax請求中的問題是什麼?我在之前的調試中發現,當我將$ _GET ['model']放在中間時,它會減少導致NULL值的查詢,這就是爲什麼我把它放在行尾的原因。

+2

我希望你消毒您輸入 – 75inchpianist

+1

**你會被砍死** –

+0

我還有一個類處理,就目前我只是縮小的問題。 = D – mmr

回答

0
<? 
    $urlParams = array('document', 'stat', 'ac', 'fac', 'model'); 
    $urlQuery = array(); 
    foreach($urlParams as $urlParam) 
     $urlQuery[ $urlParam ] = $_GET[$urlParam]; 
?> 

$(document).ready(function(){ 
    $('#btnsearch').click(function(e) { 
     $("#content0 #sub_cont0").load("view/search.php?<?php echo http_build_query($urlQuery); ?>&val=" + $("#txtsearch").val()); 
     $(".tblmodellist").fadeOut("slow"); 
    }); 
});