我遇到的问题是了解如何使用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