当前位置: 首页 > 面试题库 >

如何使用javascript查询数据库?

胡桐
2023-03-14
问题内容

新手提出的另一个问题。我有一个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则会与数据库进行通信。而且不需要页面刷新。

因此,您尝试使用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用于将anchor元素内的文本更改为edit,并将href属性更改为响应中出现的值。

$ .post表示我们正在使用post方法。因此可以在php中将这些参数作为$
_POST数组的元素进行访问。更新数据库之后,您可以简单地echo删除新链接,它将在响应中收到。

另外,还有其他格式,例如,您可以获取响应。xml,json。



 类似资料:
  • 我的准备好的语句有问题,但我无法找出错误所在。我正在尝试将URI链接插入数据库。 错误

  • 我在mysql中有这些数据。 我想调整数据并将其发送到json使用节点js / expressjs与每日,每月,每年的总和。 首先我尝试这个查询。 这个查询运行良好。但我认为这是浪费。因为反复查询代码数量。 输出: 我可以用一个查询获取所有数据吗? 最后,我想用Expresjs发送这种形式的数据。 或此表单 我尝试过mysql查询,sequelize,洛达什。但我找不到正确的方法。

  • 问题内容: 我是否需要为SQLite安装驱动程序,或者查询是否有问题? 该示例查询: 问题答案: 是的,您需要安装与数据库后端匹配的驱动程序。 关于“ BaseX ”的(非常好的)文档,在“ SQL模块”部分中 : 该模块使用JDBC连接到SQL Server。因此,您的JDBC驱动程序也需要添加到类路径中。如果使用BaseX的完整发行版,则可以将驱动程序复制到lib目录中。例如,要连接到MySQ

  • 问题内容: 我有一个Cassandra表,为简单起见,它类似于: 我可以使用spark和spark-cassandra-connector为此创建一个基本的数据框架: 我正在努力将JSON数据扩展为其基础结构。我最终希望能够基于json字符串中的属性进行过滤并返回blob数据。类似于jsonData.foo =“ bar”并返回blobData。目前有可能吗? 问题答案: Spark > = 2.

  • 我有一个卡桑德拉表,为了简单起见,看起来像: 我可以使用spark和spark cassandra连接器为此创建一个基本数据框,使用: 不过,我正在努力将JSON数据扩展到它的底层结构中。我最终希望能够根据json字符串中的属性进行筛选并返回blob数据。类似于jsonData.foo="bar"并返回blob数据。这目前可能吗?

  • 问题内容: 假设我有一个包含3列的表格:Id,类别,名称。 我想以这种方式查询表:为我获取OR或OR的行 如何?不必求助于 我想使用的庞大列表…但是可以将其与2列一起使用吗? 谢谢! 问题答案: 您可以创建一个临时表 然后加入你的主表 如果要从代码中使用该方法,则可以使用表参数进行操作。 定义表类型: 和一个存储的proc将读取数据: 然后,您可以使用C#代码中的代码,例如: