2014-10-31 68 views
0

我试图结合d3,mysql php Tutorial。 我想用mysql来存储数据,并使用d3表来显示结果。 继教程之后,我成功连接了sql,并将其显示出来。d3.js如何将参数传递给php查询条件

但是,在我的示例中,queryData.php中的sql的where条件是硬编码的。 如下所示:WHERE pathwayID='1643685' && symbol='VIF'

我需要将参数'1643685'和'VIF'从d3文件传递到php文件,该怎么办? 我该如何修改queryData.php,谢谢。

d3 file

d3.json("queryData.php", function(error, jsonData) { 
     .... 
}); 

queryData.php

<?php 
error_reporting(E_ALL^E_DEPRECATED); 
    // load in mysql server configuration (connection string, user/pw, etc) 
    include 'mysqlConfig.php'; 
    // connect to the database 
    @mysql_select_db($database) or die("Unable to select database"); 
    //Query 
    $myquery = " 
     SELECT `pathwayID`, `proteinID`, `uniprotID`, `symbol`, `displaySymbol`, `reactomeID`, `cellularLocation` FROM `protein` WHERE pathwayID='1643685' && symbol='VIF' 
    "; 

    $result = mysql_query($myquery); 
    if (! $result) { 
     echo mysql_error(); 
     die; 
    } 
    $data = array(); 
    for ($x = 0; $x < mysql_num_rows($result); $x++) { 
     $data[] = mysql_fetch_assoc($result); 
    } 
    echo json_encode($data); 

    mysql_close(); 
?> 

mysqlConfig.php

<?php 
    error_reporting(E_ALL^E_DEPRECATED); 
    $username="root"; //replace with your mySql username 
    $password=""; //replace with your mySql password 
    $database="pathway"; //replace with your mySql database name 
    $host="localhost"; //replace with the name of the machine your mySql runs on 
    $connection=mysql_connect($host,$username,$password); 
?> 

回答

1

最后,我通过使用Ajax之后的参数解决了这个。

$.ajax({ 
         url: "./php/querybyPathwayId.php", 
         type: "GET", 
         data: { 
          pathwaydbId: dbId 
         }, 
         dataType: "json", 
         success: function (jsonData) { 
          operation(jsonData); 
         }, 
         error: function() { 
         } 
        }); 

和修改querycentance

$pathwayId = $_GET["pathwaydbId"]; 
$myquery = " 
    SELECT `pathwayID`, `proteinID`, `uniprotID`, `symbol`, `displaySymbol`, 
    `reactomeID`, `cellularLocation` FROM `protein` WHERE pathwayID='$pathwayId' 
";