我遇到的问题是了解如何使用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);
}
})
}
这使用以下表单在submit上运行函数:
<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语句”来测试数据库中的更多列?我想说“如果代码已经在数据库中,如果'兑换'列设置为1(默认值为0),则执行不同的操作”?
目前我只能根据ajax回复中的函数(结果)输出内容,但有没有更有效的方法来完成我所做的事情?还是一种更有效的方法来使当前设置更加灵活?
有点长的问题,抱歉,但我觉得我需要清理一些事情,
谢谢你们:)
答案 0 :(得分:1)
在我看来,你真正想要的是一种以javascript可以解释的方式将数据发送回客户端的方法。为此,我建议使用PHP中的json_encode将JSON发送回客户端。
如果您想学习如何正确使用ajax,我会关注这些链接。你快到了。
http://www.w3schools.com/json/default.asp学习JSON
在服务器端使用json_encode。