多次使用jQuery的ajax和数据库查询

时间:2012-02-16 17:55:33

标签: jquery mysql ajax database

我遇到的问题是了解如何使用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回复中的函数(结果)输出内容,但有没有更有效的方法来完成我所做的事情?还是一种更有效的方法来使当前设置更加灵活?

有点长的问题,抱歉,但我觉得我需要清理一些事情,

谢谢你们:)

1 个答案:

答案 0 :(得分:1)

在我看来,你真正想要的是一种以javascript可以解释的方式将数据发送回客户端的方法。为此,我建议使用PHP中的json_encode将JSON发送回客户端。

如果您想学习如何正确使用ajax,我会关注这些链接。你快到了。

http://www.w3schools.com/json/default.asp学习JSON

在服务器端使用json_encode。

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