Построить график на основе значений из базы данных между двумя периодами времени - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь построить график на основе значений из базы данных MS SQL.Вот что я подумал, но покажу только одну точку:

<?php

//----------------------Connect with Server--------------------------
$serverName = "DESKTOP-MLENLVF"; 
$connectionInfo = array( "Database"=>"DataBaseExample", "UID"=>"g.abibekov", "PWD"=>"dprb-725");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
//----------------------End Connecting with Server--------------------------


if(isset($_POST["FirstDateButton"]))
{
    $firstdatetime=htmlspecialchars($_POST['FirstDate']);
    $seconddatetime=htmlspecialchars($_POST['SecondDate']);
    $query=sqlsrv_query($conn, "SELECT * FROM ValueTime WHERE Date between cast('$firstdatetime' as Date) 
    and cast('$seconddatetime' as Date)"); 
    while($row=sqlsrv_fetch_array($query))
    {        
       $dataPoints = array(array("y" => $row['Value'], "label" => $row['Date']));
    }
}
?>

1 Ответ

0 голосов
/ 25 декабря 2018

Используя только $dataPoints = array(array("y" => $row['Value'], "label" => $row['Date']));, вы переопределяете все данные в $dataPoint и сохраняете только последнее значение из цикла while.

Чтобы это исправить, вы можете сделать это следующим образомэто:

while($row=sqlsrv_fetch_array($query))
{
  $dataPoints[] = array(array("y" => $row['Value'], "label" => $row['Date']));
}

Или вот так:

while($row=sqlsrv_fetch_array($query))
{        
   $tmp = array(array("y" => $row['Value'], "label" => $row['Date']));
   array_push($dataPoints, $tmp);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...