2012-01-18 2 views
0

JQuery를 사용하여 일종의 고급 mySQL 검색을 구축하고 싶습니다. 사용자가 확인란을 선택하여 데이터베이스를 쿼리하고 체크 박스가 선택되면 DIV가 즉시 업데이트됩니다 결과와 함께 AJAX를 통해. 일종의 자동 완성이지만 확인란이 있습니다. 예를 들어자동 업데이트로 여러 확인란을 선택하여 MySQL 쿼리

, 나는이 같은 두 개 이상의 확인란이 있습니다

<input type="checkbox" id="Windows" name="system"> Windows 
<input type="checkbox" id="Linux" name="system"> Linux 

을하면 사용자 확인 "윈도우"MySQL은 윈도우 소프트웨어의 목록을 반환 (모든 제출 버튼을 클릭하지 않고) 즉시 않습니다. 사용자가 둘 다 확인하면 mySQL은 즉시 Windows 및 Linux 소프트웨어 목록을 반환해야합니다. 모두를위한 하나의 선택을위한 미세하지만

다음 작품 :

<div id="update"></div> 

$('input[name=system]').click(function(){ 
    var id=$(this).attr('id'); 
    $.get("review.php", {param: id}, 
     function(data) { 
      $("div#update").html(data); 
     } 
    ); 
}); 

Review.php :

if (isset($_GET['param'])) { 
    $param = $_GET['param']; 
} 
$qry = mysql_query("SELECT * FROM reviews WHERE os = '".$param."' ") or die(mysql_error()); 

감사합니다.

$('input[name=system]').click(function(){ 

    var ids = []; 
    $('input[name=system]:checked').each(function() { 
     ids.push($(this).attr('id')); 
    }); 
    ids = ids.join(","); 

    $.get("review.php", {param: ids}, 
     function(data) { 
      $("div#update").html(data); 
     } 
    ); 
}); 

을 그리고 당신의 PHP에서 :

답변

1

이 시도

if (isset($_GET['param'])) { 
    $param = "('" . str_replace(",", "','", $_GET['param']) . "')"; 
} 
$qry = mysql_query("SELECT * FROM reviews WHERE os IN $param") or die(mysql_error()); 
+0

우수! 그것은 즉시 일했습니다. 나는 결코 혼자서 그것을 해결하지 않을 것이다. – Nicero

+0

기꺼이 도와 드리겠습니다. 그 답이 도움이 되었다면 위의 틱 아이콘을 클릭하여 답을 수락으로 표시하십시오. – techfoobar

0

둘 다 (모두) 값을 확인하고 하나의 HTTP를 만드는 것 모두 체크 상자에 대해 하나 개의 클릭 기능을 작성해야 ?param=windows,linux과 같은 요청

은 또한 MySQL의 쿼리의 조건을 업데이트해야합니다, 그래서 같이 것 :

$params = explode(',', $param); 
// escape all params (mysql_real_escape_string) 
$condition = 'os IN("' . implode('", "', $params) . '")'; 
$qry = mysql_query("SELECT * FROM reviews WHERE $condition") or die(mysql_error()); 
관련 문제