PHP で繰り返し処理をテーブルに表示する
縦一列に繰り返し処理は簡単だけれど、
そもそも表示するデータが項目が少ないときなど、少ない列数での一覧は見栄えが良くない。
と考えてテーブルに表示しようと思うと、どこで折り返すのかで迷ってしまう。
という時に考えたのがこのパターン。
忘れてしまうのでメモです。
//テーブルを矛盾なく繰り返す
$pdo = utf_set();
$st = $pdo->query("SELECT id,name FROM person_table ORDER BY id DESC");
$rows=$st->fetchAll(PDO::FETCH_ASSOC);
print '<table class="table1">';
$i = 0;
$i2 = 6; //ここは<td>幾つで繰り返すかの指定
foreach($rows as $row){
if($i == 0){print '<tr>';}
$cast_idTmp = $row['id'];
$nameTmp = $row['name'];
print '<td><a href="schedule_edit.php?cast_id='.$cast_idTmp.'&cast_name='.$nameTmp.'">';
print $nameTmp. '</td>';
$i++;
if($i==$i2){print '</tr>';
$i = 0;
}
}
while($i < $i2){ //<td>の足らない分をテーブル描画
print '<td></td>';
$i++;
}
print '</tr></table>';
何だ簡単じゃないか。忘れなければね^^