スレッド表示 | フラット表示〕 全トピック 920 件中 87 番目 次≫ ≪前

HTML table ループ

created: 2007-09-19 23:24 | modified: 2007-09-22 13:12 | reply: 2

[3921] HTML table ループ

user: TAKKU | created: 2007-09-19 23:24
こんばんわ。前回お世話になりましたTAKKUです。

さっそくですが、現在掲示板を作成していましてお聞きした
いことがあります。

指定ディレクトリの中のファイルをテーブルに入れていくということをしようとしています。

そこでは、テーブルの形をテーブルデータ5列一行として、テーブルにいれていき、最終列は5列未満の場合は残りを空白で埋め5列一行になるよう表示させたいと考えています。

分からない部分は、テーブルデータ5列一行をどうループさせようか、5列未満の場合どう空白を埋めようかわからない状態です。

アドバイスよろしくお願いします。
reply: 3922 返信 編集 削除

[3922] テーブルにレイアウトする際のループ処理

user: ゆうじ | created: 2007-09-20 23:28
こんばんわ。

指定ディレクトリの中のファイルについては
あらかじめ配列に獲得しておいてもらうとして、
配列の値を、指定のカラム数のテーブルに
レイアウトするところに絞ってみます。

まずは、テーブルを構成するのに
必要な値を出します。

件数は、配列の値の数を数えればいいので、
$files; // ファイルのリスト
$length = count($files);

カラム数は「5」で固定、
$cols = 5;

行数は、件数÷カラム数を、切り上げて出せますね
$rows = (int)ceil($length / $cols);

あとは、行のループの中に、列のループを入れ子にして、
array_shiftで配列の値をひとつずつ取り出しながら、
値がある時と無い時の処理を振り分けると、
echo '<table>';
for ($r=0; $r<$rows; $r++) {
echo '<tr>';
for ($c=0; $c<$cols; $c++) {
echo '<td>';
$file = array_shift($files);
if (null !== $file) {
echo $file;
} else {
echo '&nbsp;';
}
echo '</td>';
}
echo '</tr>';
}
echo '</table>';

こんなのはどうでしょうか。
Parent: 3921  reply: 3923 返信 編集 削除

[3923] ありがとうございます

user: TAKKU | created: 2007-09-22 13:12
ゆうじさん こんにちわ。
お返事&的確なアドバイスありがとうございます。

とてもわかりやい説明で助かりました。

ロジックとは一個一個考えていくものなんだなと勉強になりました。

ありがとうございました。
Parent: 3922  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 87 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑