因为要多次调用while( mysql_fetch_array()),但是这个mysql_fetch_array()在循环中将数据指针一行行下移,并读出数据,移到最后输出false,停止循环
但当在一个页面中多次使用一个数据指针时,mysql_fetch_array()函数就会不输出内容
所以我试着加了 mysql_data_seek($recordset1,0);但是还是不起作用,为什么呢?
$recordset = mysql_query("select * from nwdays where nwdate between '".$date1."' and '".$date2."' order by nwdate");
$recordset1 = mysql_query("select * from presence where date between '".$date1."' and '".$date2."' order by date");
if ( $month == Date("m") )
{
for ( $i = 1; $i <= Date("d"); $i++)
{
$flag = 0;
$testingdate = $year."-".$month."-".$i;
mysql_data_seek($recordset,0);
mysql_data_seek($recordset1,0);
while ( $row = mysql_fetch_array($recordset) )
{
//echo($row["nwdate"]);
if ( $testingdate == $row )
{
$flag = 1;
break;
}
}
if ( $flag <> 1 )
{
while ( $row1 = mysql_fetch_array($recordset1) )
{
//var_dump($row1);
//echo($row1["date"]);
if ( $testingdate == $row1 )
{
$flag = 1;
break;
}
}
}
if ( $flag == 0 )
{
echo "<tr><td width='140' align='center'>".$testingdate." ";
$absent++;
}
}
}
mysql_fetch_array()
是用关联数组的方法取出来的,你在这个if语句中写了break,这个当然就跳出循环