我正在构建一个脚本来显示一些24小时图表。我正在尝试制作12张图表。我收集的每五分钟的数据集都有一张24小时(最后一小时)的图表。我正在运行一个问题,我的mysql命令不会更新$hour_position。我读过很多while循环内部while循环问题,并尝试构建foreach替代方案,还尝试重置查询数组,但这些都不起作用。任何可以解决这个问题的评论或链接到另一个线程都将不胜感激。提前谢谢。
$hour_position = 00;
$htime = -1;
$date = date('Y-m-d H:i:s');
$date = strtotime($date);
$date = strtotime($htime." day", $date);
$date = date('Y-m-d H:i:s',$date);
while($hour_position < 60){
$price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '$date' AND EXTRACT(MINUTE FROM `server_time`) like $hour_position ORDER BY `server_time` ASC");
while($result = mysqli_fetch_array($price_history_qry)){
//Create a couple of arrays to build a chart.
}
//Build chart here
echo $chart;
$hour_position = $hour_position +05;
}
试着把$hour_position放在类似的报价中
' $hour_position '
或者你可以使用
". $hour_position ."
您的查询有一个小错误。单引号内的变量将不会作为变量进行计算。检查一下。您需要更改select查询,如下所示。
$price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '".$date."' AND EXTRACT(MINUTE FROM `server_time`) like ".$hour_position." ORDER BY `server_time` ASC");
我在你的代码中没有找到任何更新查询。正如您所说,您正在while循环中使用更新查询。因此,首先检查变量是否有值,然后检查它是否像下面那样进入while循环。
$result = mysqli_fetch_array($price_history_qry)
var_dump($result);
while($result){
//Create a couple of arrays to build a chart.
var_dump("entered");
}
尝试使用var_dump()
函数进行调试。
希望它能帮助你。