0

单击我页面中的搜索按钮后,它通常会输出查询结果。但是,对于字段值有空格的情况,我有一个问题。所以我正在做的是修剪字符串并使用 LIKE 语句在数据库中查找它。

    $(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");
  });
});

例如,我将搜索单词“casing”。在类别模型=“测试模型”下。当在数据库中查询时,它不会使用此查询输出任何内容。注意:在上面的脚本中,我修剪了模型,因此输出将仅为“测试”。但它仍然没有返回我预期的结果集。

  $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 值的查询,这就是我将它放在行尾的原因。

4

1 回答 1

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");
    });
});
于 2013-08-20T06:35:00.110 回答