我有两个名为“nodes”和“joinTable”的 MySQL 表,如下所示。我需要基于一个节点 ID(在第一个表中)进行 AJAX/jQuery?/MySQL 调用,返回以下内容并将数据推送或放入两个 JavaScript 数组和一些变量中:
- 返回“类型”和“文本” 节点表。这些将被放置在 一个单独的变量以及 id。
- SELECT to_ FROM joinTable WHERE from_='$id' 然后...通过 节点表获取所有 关联的“类型”和“文本” 每个“_from”和地点或 将这些插入 javascript 数组 称为“pointsTo”以及 节点ID。
- 选择自_ FROM joinTable WHERE to_='$id' 和 然后...遍历节点表 获取所有关联的“类型”和 每个“_to”的“文本”和 将这些放置或插入 名为“pointsFrom”的 javascript 数组 连同节点 ID。
节点:
nodeID type text
0 1 Dr. Joelson
1 1 Ms. Appletree
2 1 Mr. Miller
3 1 Dr. Wilson
4 0 Pediatrician
5 0 Teacher
6 0 Waiter
...
加入表:
recordID from_ to_ weight type typeText
0 0 4 1 1 isa
1 1 5 4 1 isa
2 2 6 3 1 isa
...
这个 AJAX 选项让我不知所措,我还没有做过 MySQL 调用这个 复杂之前。我不介意学习更多适用的 jQuery 方法,但对不同的方法持开放态度。
编辑: 服务器正在运行 PHP。
最佳答案
首先,您需要选择一种服务器端语言(例如 PHP)来查询您的数据库并将 JSON 响应发送回客户端。另一方面,使用像 jQuery 这样的 javascript 框架从您的 javascript 代码对服务器上的所述 PHP 脚本进行 ajax 调用:
// Get your nodeId from the user
var id = 2;
$.post("/scripts/doTheQuery.php",{
nodeId: id
},function (result) {
// when query finishes
// do stuff with result
console.log(result);
}
就您的 SQL 问题而言:
1.
SELECT 类型,text FROM nodes WHERE nodeID = {$nodeIDinQuestion}
我将对连接查询进行投注,让您先了解一下。
关于jquery - AJAX、连接表和复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257829/