Я использую 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-привязки в
<?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, и любая помощь по этому вопросу будет принята с благодарностью.
Цикл do while внутри java-скрипта должен выглядеть следующим образом
"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)); ?> ' '
Других решений пока нет …