Php 基于值;构建一个图表;在两个时间段之间从数据库中
我正在尝试根据Ms SQL数据库中的值构建一个图表。这里是我的想法,但只展示了一点: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"=>
<?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)
请检查,