javascript - d3.js 如何将参数传递给php以获取查询条件

标签 javascript php mysql d3.js

我尝试结合 d3、mysql php Tutorial 。 我想使用mysql来存储数据,并使用d3表来显示结果。 按照教程我成功连接了sql,并显示它。

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

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

d3 文件

 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);
?>

最佳答案

最后我通过使用ajax来post参数解决了这个问题。

$.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'
";

关于javascript - d3.js 如何将参数传递给php以获取查询条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26683820/

相关文章:

javascript - 如何创建现有指令的专门版本?

javascript - 创建一个简单的单字段表单以在 Vanilla JavaScript 中构建名称对象

php - 在 C 扩展中使用 PHP 文件指针资源

mysql - 使用自连接优化慢速 MySQL 查询

javascript - 搜索字段在 Chrome 中不起作用

php - 在 Paypal 交易重定向后隐藏链接的网址,以免被复制以供进一步使用

php - 在 Symfony 中重定向回两步

php - 如何在 ZF2 的 sql 语句中准备 sql 语句?

mysql - 如何锁定尚不存在的 InnoDB 行?

javascript - Bootstrap 3 popover 在跨两条线上使用时位置错误