AJAX,连接表和复杂查询

时间:2011-06-06 20:45:01

标签: jquery mysql ajax

我有两个名为'nodes'和'joinTable'的MySQL表,如下所示。我需要根据一个节点ID(在第一个表中)进行AJAX / jQuery?/ MySQL调用,返回以下内容并将数据推送或放入两个JavaScript数组和一些变量:

  1. 从中返回'type'和'text' 节点表。这些将放入 一个单独的变量以及id。
  2. SELECT to_ FROM joinTable WHERE 从_ ='$ id'然后......经历 获取所有的节点表 关联的“类型”和“文本” 每个'_from'和地方或 将这些推送到javascript数组中 称为'pointsTo'随之而来 节点ID。
  3. SELECT from_ FROM joinTable WHERE to _ ='$ id'和 然后......通过节点表 得到所有相关的'类型'和 每个'_to'和'的'text' 将这些放入或推入 javascript数组名为'pointsFrom' 以及nodeID。
  4. 节点:

    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  
    ...
    

    joinTable:

    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。

1 个答案:

答案 0 :(得分:1)

您需要首先选择像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 type,text FROM nodes WHERE nodeID = {$nodeIDinQuestion}

我会在联接查询上发挥作用,让你先到目前为止。