这个myscript
<?php
$no = 1;
for($x=1; $x<=5; $x++) {
foreach ($mydata as $row) {
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td>'.$row->id.'</td>';
echo '<td>'.$row->name.'</td>';
echo '<td>'.$row->class.'</td>';
echo '</tr>';
$no++;
}
}
?>
脚本的结果
NO | ID | NAME | ClASS |
____|____ |______|_______|
1 | 001 | Paul | x |
2 | 001 | Paul | x |
3 | 001 | Paul | x |
4 | 001 | Paul | x |
5 | 001 | Paul | x |
我期待
NO | ID | NAME | ClASS |
____|____ |______|_______|
1 | 001 | Paul | x |
2 | | | |
3 | | | |
4 | | | |
5 | | | |
答案 0 :(得分:1)
试试这个:
<?php
$no = 1;
for ($x=1; $x <= 5; $x++) {
if (isset($mydata[$x-1])) {
$row = $mydata[$x-1];
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td>'.$row->id.'</td>';
echo '<td>'.$row->name.'</td>';
echo '<td>'.$row->class.'</td>';
echo '</tr>';
} else {
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
}
$no++;
}
?>
您需要检查数据是否基于$x
var设置,然后呈现空行或填充。
答案 1 :(得分:1)
您不需要嵌套循环。只是从1
到5
的单个循环,每次迭代显示数组的相应元素,如果没有这样的元素则显示空单元格。
for ($x = 1; $x <= 5; $x++) {
echo "<tr>";
echo "<td>" . $x . "<td>";
if (isset($mydata[$x-1])) {
$row = $mydata[$x-1];
echo '<td>'.$row->id.'</td>';
echo '<td>'.$row->name.'</td>';
echo '<td>'.$row->class.'</td>';
} else { // show empty fields
echo "<td></td><td></td><td></td>";
}
echo "</tr>";
}
也不需要单独的变量$x
和$no
。