目前,$ selection输出以下内容:MIN(Bale_ID),MIN(Incoming_Moisture),它正是它应该输出的内容(它们是来自另一个表的名称)。但是,当我将$ selection放入mysql_query $ data1时,它似乎只是读取最后一个值(MIN(Incoming_Moisture))并且只显示结果。如何让查询读取$ selection中的整个元素数组?谢谢!!
while ($row1 = mysql_fetch_array($fieldnames1)) {
$fields = $row1['fields1'];
$explode = explode(',',$fields);
if ($row1) {
for ($i=0; $i<$minrows; $i++) {
if ($i<$minrows-1){
$comma = ", ";
}
else {
$comma = "";
}
//$selection = "MIN(".$explode[$i].")".$comma;
//echo $selection;
$data1 = mysql_query("SELECT MIN(".$explode[$i].")".$comma." from data WHERE (fchmitimestamp LIKE CONCAT(@year,'%',@month,'%',@day,'_________'))");
$all1 = mysql_num_fields($data1); //return # of columns; for some reason is returning "1" right now.
while ($row2 = mysql_fetch_array($data1)) {
for ($col=0; $col<$all1; $col++) {
echo $all1;
echo "<td>Min: " . $row2[$col] . "</td>";
}
echo "</tr>";
}
}
}
}
echo "</table>";
答案 0 :(得分:1)
查看代码中的操作顺序:
loop {
... fetch data ...
... assign results to $data1 ...
}
你的循环中没有任何地方输出或保存你在$data1
中得到的结果,所以循环的每次迭代都会覆盖前一次迭代的结果 - 换句话说,只有最后一次迭代的结果将是存储
答案 1 :(得分:0)
每个循环周期运行一次查询(一次一个字段),并且由于trailin逗号,因为第一个产生SQL错误,所以除了最后一个之外,这些不会被回显。
-- notice the error in first query
SELECT MIN(Bale_ID), from data WHERE (fchmitimestamp LIKE CONCAT(@year,'%',@month,'%',@day,'_________'))
SELECT MIN(Incoming_Moisture) from data WHERE (fchmitimestamp LIKE CONCAT(@year,'%',@month,'%',@day,'_________'))
使用var_dump($selection)
代替echo $selection
来看待自己