动态查询数据库以检查值

时间:2009-03-29 15:53:41

标签: php javascript jquery mysql

我需要动态检查某个值“SheetNumber”是否在我的mysql数据库中。我已经在流行的网站上看到它,我正在努力寻找一个很好的教程来为我勾勒出它。我是Javascript的新手,但我知道很多PHP。

我急于学习如何做到这一点。

  • 克里斯

3 个答案:

答案 0 :(得分:5)

您需要使用Ajax执行此操作。我推荐Jquery库。使用Jquery文档安装它,然后使用以下内容:

<强>使用Javascript:

function makeAjaxRequest()
{
   var url="script-that-checks-db.php";
   $.get(url,{},verifyDb);
}

function verifyDb(response)
{
    if (response==1)
    {
       //The value exists, do what you want to do here
    }

    else
    {
      //The value doesn't exist
    }
}

当有人点击链接,点击按钮或其他任何内容时,您可以调用makeAjaxRequest(),例如:

<a href="#" onclick="makeAjaxRequest();">Check database</a>

文件script-that-checks-db.php的php代码(当然,名称不同)将负责检查数据库。代码看起来像这样。

<强> PHP:

<?php

//Do the mysql query and find out if the value exists or not.

if ($exists==true)
   echo "1"; //1 will indicate to javascript that the value exists.
else
   echo "0";
?>

您也可以在这里使用JSON而不是0/1方法,但因为您是新手,我认为这对您来说非常简单。

希望这有帮助,如果您有任何问题随时可以提问。另外,您可以随意更改功能和文件名。

答案 1 :(得分:2)

这很简单;检查AJAX函数的jQuery文档:jQuery.get()

您需要设置一个简单的PHP服务,该服务返回原始数据,XML或JSON格式的数据,然后您可以使用jQuery回调函数解释这些数据。

示例:

function checkData(userInputValue) {
  jQuery.get('ajax-backend.php?value='+userInputValue, false, function(data) { alert('Response from server: ' + data)});
}

您可能希望解释此值并更改页面上指示操作是否成功的内容,而不是使用alert()来显示服务器的响应。

以下是上一个问题的更详细示例:Beginning jQuery help

答案 2 :(得分:1)

我认为“动态”是指“不离开页面”,建议采用“AJAX”解决方案。

您无法使用客户端JavaScript访问您的数据库,我建议使用像JQuery这样的JavaScript库/框架来“幕后”调用PHP脚本,以实现您想要的功能。