Php 从循环中输出值,结果值为零
我目前正在尝试使用for循环输出数组的值 我尝试输出循环中运行的查询,结果得到24个查询的响应 1. 如果我将$I硬编码为0-23 echo$beam_total_array[0]['point_total']中的任意值;输出正确的值24次 即: 2. $i按预期返回0-23 如果我使用$I变量运行如1所示的代码,则24次输出为0Php 从循环中输出值,结果值为零,php,postgresql,Php,Postgresql,我目前正在尝试使用for循环输出数组的值 我尝试输出循环中运行的查询,结果得到24个查询的响应 1. 如果我将$I硬编码为0-23 echo$beam_total_array[0]['point_total']中的任意值;输出正确的值24次 即: 2. $i按预期返回0-23 如果我使用$I变量运行如1所示的代码,则24次输出为0 这里缺少什么?问题是您将$I声明为字符串,其值为0。删除$i:和fitacf_data.beam='左右的双引号$我 问题是您将$i声明为字符串,其值为0。删除$i:
这里缺少什么?问题是您将$I声明为字符串,其值为0。删除$i:和fitacf_data.beam='左右的双引号$我 问题是您将$i声明为字符串,其值为0。删除$i:和fitacf_data.beam='左右的双引号$我 在循环中运行db查询通常是错误代码的标志。您需要添加一些调试代码以查看$query并查看它是否符合预期。另外,正如Felippe所说,您需要重新思考您的代码。让数据库引擎完成繁重的工作,只返回您想要的结果,然后使用php脚本对其进行迭代。SQL数据库非常强大,速度也非常快,所以尽可能利用它们的处理能力,而不是使用PHP代码和一个接一个地调用查询,这是非常缓慢和有争议的$radar_array[0]['radar_abbrev'].”和fitacf_data.beam>=0和fitacf_data.beam<24通过分组…在循环中运行db查询通常是错误代码的迹象。您需要添加一些调试代码来查看$query,并查看它是否符合您的预期。另外,正如Felippe所说,您需要重新思考您的代码。让数据库引擎完成繁重的工作,只返回您想要的结果,然后使用php脚本对其进行迭代。SQL数据库非常强大,速度也非常快,所以尽可能利用它们的处理能力,而不是使用PHP代码和一个接一个地调用查询,这是非常缓慢和有争议的$雷达阵列[0]['radar_abbrev'].”和fitacf_data.beam>=0和fitacf_data.beam<24组由。。。
$number_of_beams = 24;
for ($i = 0; $i < $number_of_beams; $i++)
{
$query = "SELECT fitacf_data.time,
SUM(fitacf_data.num_pts) AS point_total
FROM
fitacf_data
WHERE abbrev = '" . $radar_array[0]['radar_abbrev'] ."'
AND fitacf_data.beam = '" . $i . "'
GROUP BY fitacf_data.time";
$result = pg_query($query) or die('Error: ' . pg_last_error());
while ($row = pg_fetch_array($result)) {
$beam_total_array[] = $row;
}
echo $i
echo $beam_total_array[0]['point_total'] . "<br><br>";
}
for ($i = 0; $i < $number_of_beams; $i++)
{
$query = "SELECT fitacf_data.time,
SUM(fitacf_data.num_pts) AS point_total
FROM
fitacf_data
WHERE abbrev = '" . $radar_array[0]['radar_abbrev'] ."'
AND fitacf_data.beam = '5'
GROUP BY fitacf_data.time";
$result = pg_query($query) or die('Error: ' . pg_last_error());
while ($row = pg_fetch_array($result)) {
$beam_total_array[] = $row;
}
echo $i
echo $beam_total_array[0]['point_total'] . "<br><br>";
}