Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于值​;构建一个图表;在两个时间段之间从数据库中_Php_Sql Server_Canvas_Input - Fatal编程技术网

Php 基于值​;构建一个图表;在两个时间段之间从数据库中

Php 基于值​;构建一个图表;在两个时间段之间从数据库中,php,sql-server,canvas,input,Php,Sql Server,Canvas,Input,我正在尝试根据Ms SQL数据库中的值构建一个图表。这里是我的想法,但只展示了一点: <?php //----------------------Connect with Server-------------------------- $serverName = "DESKTOP-MLENLVF"; $connectionInfo = array( "Database"=>"DataBaseExample", "UID"=>"g.abibekov", "PWD"=>

我正在尝试根据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']));
    }
}
?>

只使用
$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);
}
或者像这样:

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);
}
sqlsrv\u num\u行($query)
请检查,