我想将php mysql中的数据拆分为每列20行。以下是我的代码:
while($row = mysql_fetch_assoc($result)) {
$id[] = $row['id'];
}
for($i = 0; $i < 20; $i++) {
echo '<table><tr>';
for ($j = 0; $j < (count($id)-1)/20; $j++) {
echo '<td>'.$id[$i + $j * 20].'</td>';
}
echo '</tr><tr>';
}
echo '</tr></table>';
假设我有21行,代码只输出20行,第21行丢失。
如果有22行(只要除以20后的余数大于或小于1),就会出现undefined offset 22, undefined offset 23.....
个错误。
内部for
循环有问题,但我无法修复它。我该如何解决这个错误?
答案 0 :(得分:2)
我无法发表评论(+50代表)并在此处添加评论
while($row = mysql_fetch_assoc($result)) {
$id[] = $row['id'];
}
for($i = 0; $i < 20; $i++) {
echo '<table><tr>';
for ($j = 0; $j < (count($id)-1)/20; $j++) {
echo '<td>'.$id[$i + $j * 20].'</td>';
}
echo '</tr><tr>';
}
echo '</tr></table>';
我不知道为什么要使用第二个for
但是在条件中,您为for
此代码可能会帮助您
echo '<table>'
while($row = mysql_fetch_assoc($result)) {
$id[] = $row['id'];
}
for($i = 0; $i <= 20; $i++) {
echo '</tr><td>'.$id[$i].'</td><tr>';
}
echo '</table>';
这是21次运行for
<=