Php 如何使用javascript查询数据库?

Php 如何使用javascript查询数据库?,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,另一个新手的问题。我有一个php变量,用于查询数据库中的值。它存储在变量$publish中,当用户单击超链接时,其值将发生变化(在数据库中) if ($publish == '') { Link to publish.html } else { Link to edit.html } 在后台发生的事情是,我正在查询数据库表中存储在$publish变量中的一些数据。如果$publish为空,它将在弹出窗口中添加publish.html的链接。弹出窗口将处理一个表单,并将数据添加到数据库中,

另一个新手的问题。我有一个php变量,用于查询数据库中的值。它存储在变量$publish中,当用户单击超链接时,其值将发生变化(在数据库中)

if ($publish == '') { 
Link to publish.html
} else { 
Link to edit.html
} 
在后台发生的事情是,我正在查询数据库表中存储在$publish变量中的一些数据。如果$publish为空,它将在弹出窗口中添加publish.html的链接。弹出窗口将处理一个表单,并将数据添加到数据库中,这意味着$publish不再是空的。我想实现的是,一旦在弹出窗口中处理表单,并且将数据添加到数据库中,链接就应该更改为edit.html。当页面将重新查询数据库时,可能会发生这种情况,但应该在不刷新页面的情况下发生


如何使用javascript、jquery或ajax来实现它??请协助。

不能使用javascript、jquery或ajax创建。只有服务器端脚本才能查询数据库。通过ajax请求,您可以获得脚本输出。ajax请求可以通过纯javascript或jquery发送。

好吧,我想我理解你的要求,但你必须有一个起点,试着理解这一点:

  • 尝试了解什么是客户机变量和服务器变量
  • javascript不与数据库通信
  • 您可以使用javascript将数据检索到特定的“对象变量”
  • 使用jquery的ajax方法,您可以将该数据发布到其他页面,该页面将执行 适当行动

我会尽量把技术术语放在一边,给出一个更一般的回答,因为我认为您可能会被客户端和服务器端脚本弄糊涂

可以将javascript看作是一种只能指导WEB浏览器如何操作的语言。Javascript在服务器处理完您的网页后执行

另一方面,PHP在web服务器上运行,并且能够与数据库通信。如果您想使用javascript从数据库中获取信息,则需要让javascript请求PHP通过对PHP脚本的AJAX调用来查询数据库

例如,您可以让javascript调用如下脚本:

总之:Javascript不能连接到数据库,但它可以要求PHP这样做。我希望这会有帮助。

你可以;) 首先,您必须创建php文件来查询数据库,并返回true或flase之类的内容,然后使用文件url检查函数并获得答案

function find_published(folder_id) {
    var aj_url = "{{server_path}}/ajax/url"
    var list;
    $.getJSON(aj_url+"?callback=?&",
          function(data) {
              //here is your data... true false ... do every thing you want
          }
    );
};

Javascript本身不能用于处理数据库。这是使用php(或您选择的服务器端语言)完成的。Ajax用于使用javascript向php脚本发送请求,javascript将反过来与db通信。而且它不需要刷新页面

因此,可以使用ajax轻松实现您要做的事情。既然您提到了jquery,那么您可以在jquery中检查$.ajax或$.post方法,这使过程更加简单

您需要使用ajax处理表单。ajax请求被发送到一个php脚本,该脚本将在数据库中进行必要的更改,并在响应中发送新的链接(linktoedit.html)。得到响应后,只需用新的锚元素替换当前锚元素

例如

$.post(url, formdataobject , function (resp) {
   $("a.youra").text('edit').attr('href', resp);
});
url
-php脚本所在的位置

formdataobject
-将表单数据作为键值对的javascript对象

第三个参数是一个匿名函数,也称为回调函数,因为只有从服务器收到响应时才会调用它。这是因为ajax请求是异步的

在回调函数中,jquery用于将锚元素中的文本更改为
edit
,并且
href
属性更改为响应中的值

$.post表示我们正在使用post方法。因此,在php中,这些参数可以作为$u POST数组的元素访问。 更新数据库后,您只需
回显
新链接,即可在响应中接收到该链接


此外,您还可以使用其他格式获取响应,例如xml、json

让我试试,您想从处理表单处理的弹出窗口更改页面中的链接。尝试为链接提供一个容器:

<div id="publish_link"><a href="#" id="publish">Publish</a></div>

至于表单提交,请使用Ajax将数据提交到服务器进行更新,并获得回复以将链接更改为编辑或其他内容:

$.post("submit.php", { some_field: "some_value"}, function(response) {
    if(response.isPublished)
       $('#publish_link', window.opener.document).html('<a href="edit.html">Edit</a>');
});
$.post(“submit.php”,{some_字段:“some_值”},函数(响应){
如果(response.isPublished)
$('publish_link',window.opener.document.html('');
});

基本上,您的发布链接包含在ID为
publish\u链接的
div
中,因此您可以在数据处理后更改其内容,而无需重新加载页面。在执行表单处理的弹出窗口中,使用jQuery Ajax POST方法提交数据。然后,脚本接受该数据,更新数据库,如果成功,则返回响应。jQuery POST函数接收到该响应,并在那里检查
isPublished
是否为真,获取弹出窗口的打开器窗口(您的主窗口)并更新链接到
Edit
。只是一个想法,可能不是最好的。

你需要使用AJAX来实现这一点,比如
.post()
.get()
或JSON。

这个应用程序用于node.js做mysql查询。

它只能用php来实现。你能告诉我如何用php来实现吗?当然,如果你将使用jquery作为你的javascript生活工具,试着理解ajax在jquery中的工作原理:代码看起来很有前途,但我很难实现它。谢谢。python可以作为服务器端语言使用并与javascript集成吗?