【问题标题】:Using jQuery's ajax along with a database query multiple times多次使用 jQuery 的 ajax 和数据库查询
【发布时间】:2012-03-08 03:45:28
【问题描述】:

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

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

谢谢大家:)

【问题讨论】:

  • 您希望您的 PHP 代码根据数据库结果做更多​​事情,还是让 Javascript 代码做更多事情?
  • 嗯,这就是我不确定的......我一直在寻找其他人使用 ajax 的方法,我刚刚决定使用 1 个 php 文件来运行 if 语句以返回一个数字,并且根据该数字抛出错误或其他内容。这是使用 ajax 处理来自查询的数据的最佳/最常用方法吗?
  • 我想这取决于您希望您的应用程序做什么。您所拥有的是查看代码是否存在的完全合理的尝试。例如,如果 PHP 的扩展在数据库中找到代码,则可以输出列值。
  • 首先,您可以使用这个美妙的form plugin。这将自动发布您的表单,而无需您选择各个字段。
  • @PaulGrime 是的,谢谢,我试试看。 @ juzerali,我听说过那个 jQuery 插件,但我想从较低级别了解更多关于 jQuery 的 ajax 知识,所以我认为使用这个简单的例子是一个好的开始。不过谢谢,将来会用它

标签: jquery mysql ajax database


【解决方案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

【讨论】:

  • 好伙伴,谢谢。在尝试了一些东西之后,很高兴用这样的东西指出正确的方向:)
猜你喜欢
  • 2019-08-15
  • 2014-05-24
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多