我正在使用 Dygraph 来显示图表。我让它像这样静态工作
<div id="graphdiv"></div>
<script type="text/javascript">
g = new Dygraph(
// containing div
document.getElementById("graphdiv"),
// CSV
"Date,High,Low\n" +
"2015-05-07,75,40\n" +
"2015-05-08,70,50\n" +
"2015-05-09,80,60\n" +
"2015-05-10,60,40\n" +
"2015-05-11,50,30\n" +
"2015-05-12,0,0\n"
);
</script>
现在我想使用 PHP 从数据库中动态生成内容。我试过这样做。我创建关联数组以从数据库中获取信息,然后将 php 绑定(bind)添加到
<?php
//CREATE SQL STATEMENT
$sql_temperatures = "SELECT * FROM tbltemperatures";
//CONNECT TO MYSQL SERVER
require('inc-conndygraph.php');
//EXECUTE SQL STATEMENT
$rs_temperatures = mysqli_query($vconndygraph, $sql_temperatures);
//CREATE AN ASSOCIATIVE ARRAY
$rs_temperatures_rows = mysqli_fetch_assoc($rs_temperatures);
?>
<!doctype html>
<html>
<head>
<!-- LINK TO THE DYGRAPH LIBRARY -->
<script type="text/javascript" src="dygraph-combined-dev.js"></script>
</head>
<body>
<!-- CONTAINER HOLDING GRAPH -->
<div id="graphdiv"></div>
<script type="text/javascript">
g = new Dygraph(
// containing div
document.getElementById("graphdiv"),
"Date,High,Low\n" +
// CSV
<?php do { ?>
"<?php echo json_encode($rs_temperatures_rows['tdate']); ?>,<?php echo json_encode($rs_temperatures_rows['thigh']); ?>,<?php echo json_encode($rs_temperatures_rows['tlow']); ?>\n"
<?php } while ($rs_temperatures_rows = mysqli_fetch_assoc($rs_temperatures)); ?>
);
</script>
理论上,这应该在函数中起作用,但是当我尝试在任何浏览器中查看它时,它不会显示。有什么我想念的愚蠢的东西吗?
我在想我可能没有正确连接并且显示只是没有返回?我不擅长 javascript,如有任何帮助,我们将不胜感激。
最佳答案
java 脚本中的 do while 循环应该是这样的
"Date,High,Low\n" +
<?php do { ?>
"<?php echo $rs_temperatures_rows['tdate'] . ',' . $rs_temperatures_rows['thigh'] . ',' . $rs_temperatures_rows['tlow']; ?>'\n' +
<?php } while ($rs_temperatures_rows = mysqli_fetch_assoc($rs_temperatures)); ?> ' '
关于javascript - dygraph php 从数据库动态生成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096843/