문제는 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)으로 설정된 경우 다른 작업을 수행하겠습니까?
현재 아약스 응답에서 함수 (결과)를 기반으로 한 결과 만 출력 할 수 있지만 완료 한 작업을 수행하는보다 효율적인 방법이 있습니까? 또는 현재 설정을보다 유연하게 만드는보다 효율적인 방법은 무엇입니까?
긴 질문, 미안 해요,하지만 난
고마워 : 그것은 나에게 보인다
당신은 당신의 PHP 코드는 DB의 결과, 이상을 할 수있는 자바 스크립트 코드를 기반으로 더 많은 작업을 수행 하시겠습니까? –
글쎄 그게 내가 확신 할 수없는 것 ... 나는 아약스 사용에 대한 다른 사람들의 접근법에 대해 주변을 둘러 보았고, 나는 PHP를 사용하여 if 문을 실행하여 숫자를 반환하고 다음과 같은 오류를 던지기로 결정했다. 그 번호. 이것은 Ajax를 사용하는 쿼리의 데이터로 작업하는 가장 좋은 방법입니까? – JamesG
내 생각에 앱에 따라 달라 지겠지. 코드가 있는지 확인하는 데있어 합당한 시도가 있습니다. PHP의 확장은 예를 들어 데이터베이스에서 코드를 찾으면 열 값을 출력 할 수 있습니다. –