$arrayday=array();
$arrayTime=array();
$arrayTime1=array();
while($row7 = mysql_fetch_array($result7))
{
$arrayday[] = $row7['day'];
$arrayTime[] =$row7['TimeIn'];
$arrayTime1[] =$row7['TimeOut'];
}
for($a=0;$a<32;$a++)
{
echo "<td>$a</td>";
if($a==$arrayday[$a])
{
echo "<td>".$arrayTime[$a]."</td>";
echo "<td>".$arrayTime[$a]."</td>";
echo "<tr>";
}
else
{
echo "<td>No record</td>";
echo "<td>No record</td>";
echo "<tr>";
}
}
好吧..我有时间和超时时间20,27和28 ..从这段代码开始,它将循环3次1到30,对于第1次到第30次,它将把时间和超时放在第20天,没有记录第27天和第28天,第二个1到30,它将放置20和27,第三个循环1-30,它将把时间和超时分别为20,27和28 ..我只需要第3个循环。在1到30之间有3个记录。
这个问题已经由@llya解决
答案 0 :(得分:1)
试试这个: 修复for while循环问题, 添加了遗忘/ tr标签。
// collect list of days
$arrayday=array();
$arrayTime=array();
$arrayTime1=array();
while($row7 = mysql_fetch_array($result7)) {
$arrayday[] = $row7['day'];
$arrayTime[$row7['day']] =$row7['TimeIn'];
$arrayTime1[$row7['day']] =$row7['TimeOut'];
}
// build table
for ($x = 1; $x <= 31; $x++) {
echo "<td>$x</td>";
if (in_array($x, $arrayday)) {
echo "<td>".$arrayTime[$x]."</td>";
echo "<td>".$arrayTime1[$x]."</td>";
echo "</tr><tr>";
} else {
echo "<td>No record</td>";
echo "<td>No record</td>";
echo "</tr><tr>";
}
}