我遇到的問題是瞭解如何使用jQuery ajax功能爲多個數據庫查詢方案返回結果。多次使用jQuery的ajax和數據庫查詢
這裏是我到目前爲止的代碼...這是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),則做一些不同的事情」?
目前我只能根據ajax回覆中的函數(結果)輸出東西,但是有沒有更有效的方法來完成我所做的工作?或者更有效的方式使當前的設置更加靈活?
長的問題,很抱歉,但我覺得我需要清理一些東西,
謝謝你們:)
你想基於數據庫的結果,或者Javascript代碼做更多的PHP代碼做多? – 2012-02-16 19:08:25
那麼這就是我不確定的...我一直在爲其他人使用ajax的方法,我剛剛決定使用1 php文件來運行if語句返回一個數字,並拋出一個錯誤或基於那個數字。這是使用Ajax查詢數據的最佳/最常用的方法嗎? – JamesG 2012-02-16 19:21:56
我想這取決於你想要你的應用程序做什麼。你有什麼是完全合理的嘗試,看看是否存在代碼。例如,如果PHP的擴展名在數據庫中找到代碼,則可以輸出列值。 – 2012-02-16 19:28:00