2014-05-22 3 views
0

안녕하세요. 모든 페이지에 여러 텍스트 상자를 사용하여 데이터베이스에서 데이터를 가져 오는 검색 쿼리를 사용하고 싶습니다.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); 

아약스

$('#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)); 
    }   
}); 
} 
+0

'좋아요'가 덮어 쓰기 때문에 작동하지 않습니다. '. ='을 사용해 'AND'로 변경하십시오. 왜 그것을 null과 비교하니? 당신이 거짓으로 설정되지 않은 경우 명시 적으로 작성했습니다. – user1978142

+0

제발, 제발 미안하지만, 프로그래밍에 상대적으로 새로운 인스턴트 메신저주세요. – user3541335

답변

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에 값을 얻으십시오.

+0

도움을 주셔서 감사합니다.하지만이 작업을 시도하면 Ajax의 데이터가 더 이상 화면에 표시되지 않습니다. – user3541335