2012-02-16 6 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> 

実行される。ここ

は、私が持っているコードは...これはAjaxの機能で、これまでです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)に設定されている場合、何か違うことをしますか?

現在、私はajaxの応答から関数(結果)に基づいて出力することしかできませんが、これまでよりも効率的な方法がありますか?または、現在の設定をより柔軟にするためのより効率的な方法ですか?

長い質問のビットは、申し訳ありませんが、私は私が片付けいくつかのことを必要と感じ、

みんなありがとう:)

+0

あなたはより多くを行うには、あなたのDBの結果に基づいて、より実行するPHPコード、またはJavaScriptコードをしたいですか? –

+0

これは私が確信していることです...私はajaxを使用して他の人々のアプローチのために見回してきました。私はちょうど1つのPHPファイルを使用してif文を実行して数値を返し、その番号。これは、Ajaxを使用したクエリからのデータを処理するための最も良い/最も一般的なアプローチですか? – JamesG

+0

私はそれがあなたのアプリが何をしたいかによって決まると思います。あなたが持っているものは、コードが存在するかどうかを見て、完全に合理的な試みです。たとえば、PHPの拡張モジュールは、データベース内のコードを見つけると、列の値を出力することができます。 –

答えて

1

あなたが本当に望んでいるものを私には思われるが送信する方法でありますジャバスクリプトが解釈できる方法でクライアントにデータを戻します。そのためには、JSONをPHPでjson_encodeを使ってクライアントに送り返すことをお勧めします。

ajaxを正しく行う方法を知りたい場合は、これらのリンクに従います。あなたはほとんどそこにいます。

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

は、サーバー側のJSON

使用json_encodeをご覧ください。

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

+0

華麗な仲間、ありがとう。何かを試した後、このような何かを指摘intええ正しい方向:) – JamesG

関連する問題