| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
導入導入 – HTML テーブルの作成
HTML_Table とは?HTML_Table は、HTML のテーブルを作成するためのインターフェイスを提供するパッケージです。 スプレッドシートのような表形式のデータとともに使用します。 HTML でいちいち順番にセルを書いていくのではなく、 セルの位置を指定してそこにデータを書き込むといったことができるようになります。 最初のセルから書き始めようが、テーブルの途中や最後の行、 列から書き始めようが、まったく同じように操作できます。 autoGrow および autoFill の値autoGrow フラグ通常は、テーブルの行や列の数は事前にわかっているでしょう。 しかし、時には必要な行や列の数がわからないこともあります。 たとえば、ユーザの入力内容や データベースのクエリの結果を HTML テーブルにする場合などです。 このような場合は、autoGrow 機能を 有効に します。このモードでは、存在しない行や列を指定した場合に HTML_Table が自動的に行や列を追加します。 autoFill の値テーブルを作成する際に、すべてのセルに異なる値を指定するというわけではないこともあるでしょう。 そのセルに入れる値が不明であるとか、デフォルト値を指定しておきたい (例えばユーザについての情報を取得する場合など) といった場合です。 すべてのユーザが携帯電話や email を使っているわけではないでしょう。 そんな場合には、そのセルには "n/a" を入れなければなりません。 そこで、autoFill の値として "n/a" を 定義 し、データが存在するセルにのみ値を設定していきます。 すべてのセルの値を設定する必要はありません。未指定のセルには自動的に "n/a" が設定されます。 テーブルの作成デモンストレーション用データこれから作成する HTML テーブルには、次のデータを含めるものとします。
<?php
はじまりそれでは、まず最初に新しい HTML_Table のインスタンスを作成しましょう。 このテーブルの幅は 600 ピクセルとします。 テーブルに表示するデータの数はわかりません。 そこで、autoGrow 機能を有効にします。 未指定のセルには "n/a" が表示されるようにします。
<?php
setAttributes() メソッドでテーブルの属性を指定することもできます。 つまり、上の例は次のように書くこともできるということです。
<?php
データ行の追加各データ項目について処理していきます。ここでは、これまで説明してこなかった HTML_Table の機能を使っており、 一行おきに、行の色が赤くなるようにしています。
<?php
見出しセルの追加最初の行に表示され、見出しとして扱われるセルを定義しましょう。 スプレッドシートの表のような仕上がりを想定しているので、 ここでは見出しセルの背景色を "silver" とします。 最初の行には列の見出しをつけ、 最初の列にはデータセットの行番号を表示するようにします。
<?php
テーブルの表示さあ、これで出来上がりです! それでは結果を HTML コードで出力しましょう。
<?php
出力結果は次のようになります。 <table width="600"> <tr> <th bgcolor="silver"> </th> <th bgcolor="silver">姓</th> <th bgcolor="silver">名</th> <th bgcolor="silver">ウェブサイト</th> <th bgcolor="silver">EMail</th> </tr> <tr> <th bgcolor="silver">0</th> <td>Bakken</td> <td>Stig</td> <td>n/a</td> <td>stig@example.com</td> </tr> <tr> <th bgcolor="silver">1</th> <td bgcolor="red">Merz</td> <td bgcolor="red">Alexander</td> <td bgcolor="red">alex.example.com</td> <td bgcolor="red">alex@example.com</td> </tr> <tr> <th bgcolor="silver">2</th> <td>Daniel</td> <td>Adam</td> <td>n/a</td> <td>n/a</td> </tr> </table>
thead、tfoot および tbody の使用テーブルを thead、tfoot および tbody のグループに分けたい場合は、 テーブルオブジェクトを取得する際に getHeader()、 getFooter() および getBody() を使用する必要があります。 そして、それを通常のテーブルオブジェクトと同様に使用します。
<?php
この例では tfoot グループの中身を設定していません。 そのため、thead および tbody のみが表示されます。
リリース 1.8.0 以降では、 getBody() およびその他のメソッド (たとえば setCellAttributes() など) でオプションの数値パラメータ $body を受け付けるようになりました。 これを使用すると、テーブル内で複数の tbody グループを作成できるようになります。新しいグループを作成するには addBody() を使用します。あるいはもし autoGrow が有効になっているのなら、先ほどのメソッドコールで新しい番号を使用すると自動的にグループが作成されます。 |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「導入」をGoogle検索
|