我有一个从数据库获取数据的程序,然后使用d3和javascript对其进行绘图。我有几种方法可以在javascript中更新数据并将数据插入到本地数组中,但我也需要在数据库中更新和插入。我该怎么做?我正在使用PSQL作为数据库。
这是我的PHP代码:
<?php
// attempt a connection
$dbh = pg_connect("host=localhost dbname=data user=postgres");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
// execute query
$sql = "SELECT * FROM dataset";
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
$arr = pg_fetch_all_columns($result, 1);
// free memory
pg_free_result($result);
// close connection
pg_close($dbh);
?>
以下是我所讨论的方法,clickEvent会在单击一个栏时提示输入,并更新栏的长度。
function clickEvent(d, i) {
var op = prompt("Please enter the value", d);
data[i] = parseInt(op, 10);
render();
};
单击“添加数据”时,此方法会提示输入,并添加新栏。
d3.select("button").on("click", function(d, i) {
var op = prompt("Please enter the value", "");
var newData = parseInt(op, 10);
if (!isNaN(newData)) {
data.push(newData);
render();
}
});
这是一个jfiddle for the javascript code来看看它的作用。
答案 0 :(得分:0)
使用jQuery.ajax(),您可以将号码传递给“url”中定义的脚本,该脚本会将值保存到数据库中。
var request = $.ajax({
url: "script.php",
type: "POST",
data: {barLength : newData},
dataType: "html"
});