我正在执行两个查询并为每条记录评估以下条件:
<html><ol><li>Hello</li><li>welcome</li></ol></html>
等于$production_query->row->0
$jobcard_query->row->0
等于$production_query->row->1
如果为true,则应显示$jobcard_query->row->1
的结果。
但是,使用$production_query
语句时,浏览器需要很长时间才能响应并崩溃。
有人可以建议解决方案吗?
我的代码:
while
答案 0 :(得分:0)
尝试将查询更改为以下内容:
$query = "SELECT sample_jobcard.job_card_num AS JOBCARDNUM, sample_jobcard.die_qty AS DIEQTY, sample_jobcard.id AS JID, com_jobcard.job_card_num, com_jobcard.die_qty, com_jobcard.id FROM sample_jobcard
join com_jobcard on sample_jobcard.job_card_num = com_jobcard.job_card_num AND sample_jobcard.die_qty = com_jobcard.die_qty ORDER BY sample_jobcard.id DESC";
$jobcard_query = mysql_query($query);
if($jobcard_query && mysql_num_rows($jobcard_query) > 0)
{
while ($row = mysql_fetch_array($jobcard_query))
{
echo $row['JOBCARDNUM']." ".$row['DIEQTY']." ".$row['JID']."<br>";
}
}
答案 1 :(得分:0)
替换while
:
while (($row1[0] == $row[0]) && ($row1[1] == $row[1]))
{
echo $row[0] . $row[1]. $row[2]'<br>';
}
使用if
:
if ($row1[0] == $row[0] && $row1[1] == $row[1])
{
echo $row[0] . $row[1]. $row[2] . '<br>';
}
如果你的条件评估为true
,你基本上写了:
while(true) {
// run forever
}
这将永远运行(好,直到最长执行时间)。
您最终会反复打印同一行,生成一个浏览器难以处理的大型文档,从而导致崩溃。