im试图根据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']));
}
}
?>
答案 0 :(得分:2)
通过仅使用$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);
}