通过AJAX多个搜索框

时间:2014-05-22 12:46:48

标签: php html ajax

您好我想在页面上使用几个文本框,这些文本框都有自己的搜索查询来从数据库中获取数据。

我让它在1个文本框上工作,但我不能让它适用于2个或更多文本框。

非常感谢任何帮助。

这是我的代码:

PHP

$opts = (isset($_POST['filterOpts']) ? $_POST['filterOpts'] : FALSE);  
$val = (isset($_POST['text']) ? $_POST['text'] : FALSE);
$val2 = (isset($_POST['text']) ? $_POST['text'] : FALSE);

    if ($val != null){
    $where = " WHERE boekingsnummer LIKE '".$val."%'";  
    }  
    if ($val2 != null){
    $where = " WHERE huiscode LIKE '".$val2."%'";  
    }  

$sql = $select . $from . $where;
$statement = $pdo->prepare($sql);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
echo($json);

AJAX

$('#boekingsnummer_1').keyup(function(){        
    updateEmployeesText($(this).val());        
});

$('#huiscode_1').keyup(function(){        
    updateEmployeesText($(this).val());        
});

function updateEmployeesText(val){        
    $.ajax({
    type: "POST",
    url: "submit.php",
    dataType : 'json',
    cache: false,
    data: {text: val},
    success: function(records){
        $('#employees tbody').html(makeTable(records));
    }        
}); 
}

1 个答案:

答案 0 :(得分:0)

生成一个字符串并通过url传递它。

$('#huiscode_1').keyup(function(){ 
    var text = '?val1='+$(this).val()+'&val2='$('#boekingsnummer_1').val();
    updateEmployeesText($(this).val(text));        
});

function updateEmployeesText(val){        
    $.ajax({
    type: "POST",
    url: "submit.php"+val,
    cache: false,
    success: function(records){
        $('#employees tbody').html(makeTable(records));
    }        
}); 
}
像这样。为你想要的每个输入字段生成字符串,并在生成之前进行必要的检查。获取php脚本上的值& process.hope这将有效。