2012-02-16 2 views
2

문제는 jQuery ajax 기능을 사용하여 데이터베이스 쿼리의 여러 시나리오에 대한 결과를 반환하는 방법을 이해하는 것입니다. 여기 데이터베이스 쿼리와 함께 jQuery의 ajax를 여러 번 사용하기

내가 지금까지 가지고있는 코드입니다 ...이 아약스 기능입니다 :

function checkDB(code) 
{ 

    $.ajax({ 
    type: "POST", 
    url: "<?php bloginfo('template_url'); ?>/profile/check_code.php", 
    data: 'code='+code, 
    datatype: "html", 
    success: function(result){ 

     if(result == 0) 
     { 
     $('#success').html(code + ' already exists.'); 
     // alert('success');//testing purposes 
     } 
     else 
     { 
     $('#err').html( code + ' isnt in the database!!.'); 
     //alert('fail');//testing purposes 
     } 

alert(result);  


     } 
    }) 

} 

그리고이 제출의 기능을 실행하기 위해 다음과 같은 형식을 사용합니다

<form method="post" name="sc_ajax" onsubmit="checkDB(document.sc_ajax.sc_voucher_code.value); return false;"> 
     ... 
    </form> 

실행 어느 check_code.php의 데이터베이스 쿼리 :

$code = mysql_real_escape_string($_POST['code']); 

$resultcode = mysql_query('select * from wp_scloyalty where code = "'. $code .'"') or die(mysql_error()); 
if(mysql_num_rows($resultcode)>0){ 
    //Exists 
    echo 0; 
}else{ 
    //Doesnt Exist 
    echo 1; 
} 

내가 지금까지 가지고있는 메시지는 입력 된 코드가 데이터베이스에 존재합니다.

제 질문은 내가 어떻게 쿼리에 대해 더 많은 것을 할 것인가입니다. 예를 들어 데이터베이스의 더 많은 열을 테스트하기 위해 더 많은 "if 문"이 필요합니까? 나는 "코드가 이미 데이터베이스에 있다면 'redeemed'열이 1 (기본값 0)으로 설정된 경우 다른 작업을 수행하겠습니까?

현재 아약스 응답에서 함수 (결과)를 기반으로 한 결과 만 출력 할 수 있지만 완료 한 작업을 수행하는보다 효율적인 방법이 있습니까? 또는 현재 설정을보다 유연하게 만드는보다 효율적인 방법은 무엇입니까?

긴 질문, 미안 해요,하지만 난

고마워 : 그것은 나에게 보인다

+0

당신은 당신의 PHP 코드는 DB의 결과, 이상을 할 수있는 자바 스크립트 코드를 기반으로 더 많은 작업을 수행 하시겠습니까? –

+0

글쎄 그게 내가 확신 할 수없는 것 ... 나는 아약스 사용에 대한 다른 사람들의 접근법에 대해 주변을 둘러 보았고, 나는 PHP를 사용하여 if 문을 실행하여 숫자를 반환하고 다음과 같은 오류를 던지기로 결정했다. 그 번호. 이것은 Ajax를 사용하는 쿼리의 데이터로 작업하는 가장 좋은 방법입니까? – JamesG

+0

내 생각에 앱에 따라 달라 지겠지. 코드가 있는지 확인하는 데있어 합당한 시도가 있습니다. PHP의 확장은 예를 들어 데이터베이스에서 코드를 찾으면 열 값을 출력 할 수 있습니다. –

답변

1

이 무엇을 당신이 정말로 원하는하는 것은 전송하는 방법입니다, 내가 정리 몇 가지를 필요로 느낄의 비트 자바 스크립트가 해석 할 수있는 방식으로 클라이언트에 데이터를 다시 보냅니다. 이를 위해 PHP에서 json_encode를 사용하여 JSON을 다시 클라이언트로 보내는 것이 좋습니다.

아약스를 올바르게 수행하는 방법을 배우고 싶다면이 링크를 따라 가야합니다. 너 거의 다 왔어.

http://www.w3schools.com/json/default.asp

는 서버 측에서 JSON

사용로 json_encode을 알아보세요.

http://php.net/manual/en/function.json-encode.php

+0

훌륭하게 친구, 고마워. 뭔가를 시도해 본 후 int와 같은 올바른 방향으로 지적했다. :) – JamesG

관련 문제