CodeIgniterでテーブルの一覧を表示する

前回、CodeIgniterのデータベースクラスを利用して、レコードの追加の方法を紹介しましたが、今回はそのレコードの表示方法を紹介したいと思います。今回もCodeIgniterのデータベースクラスを使います。

ビューファイルの作成

まず最初にレコードを表示するビューを作成します。『aplication/views』フォルダに『dvd_list_view.php』ファイルを作成します。今回もDreamweaverで作成します。ファイルを作成したら、デザイン画面で『一般』タブの『テーブル』をクリックし、2行4列のテーブルを作成します。

見出しをID、日付、タイトル、内容と入力して、いったん保存します。

コントローラの作成

次にコントローラを作成します。『aplication/cotrollers』フォルダに『dvd_list.php』ファイルを作成して、次のようなコードを入力します。

class Dvd_list extends CI_controller{
function __construct()
{
parent:: __construct();
$this->load->database();
}
function index()
{
$data['records']=$this->db->get('dvd')->result_array();
$this->load->view('dvd_list_view',$data);
}
}

次に先ほど作成したビューファイルを少し修正します。コードを入力します。
テーブルの2行目<tr>から</tr>を<?php foreach ($record as $row): ?>と<?php endforeach;?>で挟みます。これは、<tr>から</tr>までをレコードの数だけ繰り返すための繰り返し構文です。
各<td>と</td>の間には、繰り返すデータを指定します。

<?php foreach ($records as $row): ?>
<tr>
<td><?=$row['ID']?></td>
<td><?=$row['date']?></td>
<td><?=$row['Title']?></td>
<td><?=$row['Content']?></td>
</tr>
<?php endforeach; ?>

それではブラウザで確認してみましょう。テーブル(dvd)の一覧が表示されました。

コードの説明

コントローラ『dvd_list.php』の解説をします。

class Dvd_list extends CI_controller{

これまもう解説の必要はないと思いますが、クラス名は必ずファイル名と同じで、頭文字は大文字です。

function __construct()
{
parent:: __construct();
$this->load->database();
}

これも前回説明しています。コンストラクタの記入の前に必ず、親クラスの継承のための『parent:: __construct()』は忘れないようにしてください。また、データベースを自動設定してある場合はこの箇所は記載不要です。

$data[‘records’]=$this->db->get(‘dvd’)->result_array();

『db』オブジェクトは、CI_DBというクラスのインスタンスが納められているメンバー変数です。databeseライブラリが読み込まれていると、モデルのインスタンス内に自動的に用意されています。次の『get』メソッドはget(第1引数、第2引数、第3引数)という使い方をします。第1引数は、テーブル名、第2引数は、LIMIT値、第3引数は、OFFSET値を指定します。第2引数と第3引数は省略可能です。次の『result_array()』は、『get』で呼び出されたレコードを配列の形にして返します。

$this->load->view(‘dvd_list_view’,$data);

最後は、ビューファイル(‘dvd_list_view’)を呼び出すためのコードです。

本日は以上です。

タグ

2011年7月4日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

このページの先頭へ