2013-08-20 82 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"); 
    }); 
});