掲示板を作ろう その6
データベースへのコメントの挿入も出来たので、コメントを表示させていきます
参照:Active Record クラス : CodeIgniter ユーザガイド 日本語版
参照:クエリ結果の生成 : CodeIgniter ユーザガイド 日本語版
コメントを表示させるメソッドを application/models/boardmodel.php に作成
public function comments() { $query = $this->db->get('comments'); return $query; }
$this->db->get('comments'); は SELECT * FROM comments; のSQL文と同意。
それを $query に格納して、return文で返すと。
コントローラ側でデータを受け取り、ビューに送る
if($this->form_validation->run() === FALSE) { $data['comment'] = $this->boardmodel->comments(); # ここに追加 $this->load->view('templates/header'); $this->load->view('form'); $this->load->view('comment', $data); # ここに追加 $this->load->view('templates/footer'); } else {
$this->boardmodel->comments() でメソッドを実行。返された値を $data['comment'] に格納
$this->load->view('comment', $data) で $dataをビューに送る
コメント表示ビューを作成
application/views/comment.php
<hr> <?php foreach($comment->result() as $c): ?> <dl> <p>投稿者:<?php echo $c->name; ?>メール:<?php echo $c->email; ?></p> <dt><p><?php echo $c->comment ?></p></dt> </dl> <hr> <?php endforeach; ?>
- foreach($comment->result(), $data)
- $comment->result() は $this->db->get() で生成されたクエリの結果の生成。
それをforeach文のショートタグで回すと。
これで一通り掲示板っぽいのは出来たかな!