Dygraph php динамически генерирует контент из базы данных

Я использую 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, и любая помощь в этом будет очень признательна.


person Jacques Roux    schedule 13.10.2015    source источник


Ответы (1)


Цикл 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)); ?> '&nbsp;'
person Devin Gray    schedule 13.10.2015