新手的另一个问题.我有一个PHP变量,可以在数据库中查询值.它存储在变量$publish中,当用户单击超链接时,其值将更改(在数据库中).
if ($publish == '') { Link to publish.html } else { Link to edit.html }
后台发生的事情是我在数据库表中查询存储在$publish变量中的一些数据.如果$publish为空,它将在弹出窗口中添加publish.html的链接.弹出窗口将处理一个表单,并将数据添加到数据库,这意味着$publish不再是空的.我想要实现的是,只要在弹出窗口中处理表单并将数据添加到数据库,链接就应该更改为edit.html.当页面将重新查询数据库时会发生这种情况,但它应该在没有页面刷新的情况下发生.
如何使用javascript,jquery或ajax?请协助.
Javascript本身不能用于处理数据库.这是使用PHP(或您选择的服务器端语言)完成的. Ajax用于使用javascript向PHP脚本发送请求,javascript将与db通信.它不需要页面刷新.
原文链接:https://www.f2er.com/php/138786.html因此,使用ajax可以轻松实现您想要做的事情.既然你提到了jquery,你可以查看jquery中的$.ajax或$.post方法,这使得这个过程变得更加简单.
您需要使用ajax处理表单. ajax请求被发送到PHP脚本,该脚本将在数据库中进行必要的更改并在响应中发送新链接(链接到edit.html).获得响应后,只需用新的锚元素替换当前的锚元素.
例如……
$.post(url,formdataobject,function (resp) { $("a.youra").text('edit').attr('href',resp); });
url – PHP脚本所在的位置
formdataobject – 一个javascript对象,它将表单数据作为键值对
第三个参数是一个匿名函数,也称为回调函数,因为只有在从服务器收到响应时才会调用它.这是因为ajax请求是异步的.
在回调函数内部,jquery用于更改锚元素内的文本以进行编辑,并将href属性更改为响应中的值.
$.post表示我们正在使用post方法.所以参数可以作为PHP中$_POST数组的元素进行访问.
更新数据库后,您可以简单地回显新链接,并在响应中收到它.
此外,还有其他格式可以让您获得响应,例如. xml,json.