如何使用 SQL 查询从数据库中获取折线图数组中的值

我正在尝试使用以下代码从数据库中获取折线图的数据。


    <?php

        $dataPoints = array( 


            $sql1 = "SELECT * FROM chart_data_column WHERE value = 'now'";

            $result1 = $conn->query($sql1);

            if ($result1->num_rows > 0) {                               

            while($row1 = $result1->fetch_assoc()) { 


         array("y" => 25, "label" => "Sunday"), ?>


             } } else { } 

      );

    ?>

<script>

 window.onload = function () {


   var chart = new CanvasJS.Chart("chartContainer", {

  title: {

  text: ""

      },

  axisY: {

  title: ""

      },

   data: [{

type: "line",

   dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>

   }]

   });

  chart.render();

 }

</script>

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

         <div id="chartContainer" style="height: 370px; width: 100%;"></div>

使用上面的代码,它给出了 Un-expected Syntax error 的错误,期望 ) 而不是 ; 在 $dataPoints 行


但是,如果我要删除 sql 查询,则图表会完美地绘制静态数据。


任何帮助是极大的赞赏..


梵蒂冈之花
浏览 204回答 2
2回答

MYYA

我不得不赞扬您将 PHP 代码和 JavaScript 分开。这是一个很好的主意。但是,如果您想使用 PHP 和 mysqli 库从 MySQL 中获取所有记录,则不需要任何循环。您可以将所有内容提取到一个数组中,然后json_encode()在 JavaScript 中显示。<?php// import your mysqli connection before$result1 = $conn->query("SELECT * FROM chart_data_column WHERE value = 'now'");$dataPoints = $result1->fetch_all(MYSQLI_ASSOC);?><script>&nbsp;window.onload = function () {&nbsp; &nbsp;var chart = new CanvasJS.Chart("chartContainer", {&nbsp; title: {&nbsp; text: ""&nbsp; &nbsp; &nbsp; },&nbsp; axisY: {&nbsp; title: ""&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp;data: [{type: "line",&nbsp; &nbsp;dataPoints: <?= json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>&nbsp; &nbsp;}]&nbsp; &nbsp;});&nbsp; chart.render();&nbsp;}</script><?=是简称<?php echo

胡子哥哥

您将整个查询放在数组中。您需要将它们分开。此外,您还有“chart_data_column”表名所在的位置。$dataPoints = array();$sql1 = "SELECT * FROM chart_data_column WHERE value = 'now'";$result1 = $conn->query($sql1);if ($result1->num_rows > 0) {&nbsp; &nbsp; while ($row = $result1->fetch_assoc()) {&nbsp; &nbsp; &nbsp; &nbsp; $dataPoints[] = $row;&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP