twitter
    join me to learn together :D

Sabtu, 22 Oktober 2011

membuat fasilitas komentar pada blog dengan ci

menyambung post saya yang berjudul membuat blog sederhana dengan codeigniter kemarin, sekarang saya akan membuat post kelanjutannya untuk membuat fasilitas komentar pada blog sederhana menggunakan codeigniter.

ok langsung saja kita mulai,
alat dan bahan :
-database dan file codeigniter yang sebelumnya sudah kita buat. (jika ini pertama kali anda membaca blog saya, saya sarankan anda membaca membuat blog sederhana dengan codeigniter terlebih dahulu.)

ok langsung saja kita mulai.


pertama kita rubah file 'blog.php' didalam folder 'view',
tambahkan script seperti ini
<a href="blog/add_comment/<?=$item['post_id']?>">post a comment</a>
yang diletakkan pada baris ke 11
sekarang coba buka http://localhost/learn-ci/index.php/blog di browser anda, hasilnya kurang lebih akan seperti ini:


tetapi jika kita klik linknya maka hanya akan tampil pesan error, karena kita belum membuat functionnya.
ok, makanya sekarang kita buka file 'blog.php' pada folder 'controller'.
tambahkan function seperti dibawah ini:
    function add_comment(){
        $this->load->helper('form');
        $this->load->helper('url');
        $data['url'] = $this->uri->segment(3);
        if($this->input->post('do_comment')=='do comment'){
            $data = $this->input->post('data'); // mengambil data dari inputan
            if($this->db->insert('comments',$data)){
                redirect('blog/', 'refresh');
             }else{
                echo "maaf, anda gagal membuat komentar";
             }           
        }       
        $this->load->view('add_comment',$data);       
    }
kemudian buat file 'add_comment.php' dalam folder 'view', isi scriptnya seperti ini:
<html>
<head>
    <title>create a Comment</title>
</head>
<body>
<h1>create a comment</h1>
<?=form_open('blog/add_comment/'.$url);?>
<input type="hidden" name="data[post_id]" value="<?=$url;?>">
Name : <br>
<input type="text" name="data[name]"><br>

Email : <br>
<input type="text" name="data[email]"><br>

comment : <br>
<textarea name="data[comment]"></textarea><br>

<input type="submit" value="do comment" name="do_comment">

<?=form_close();?>
</body>
</html>
nah, sekarang coba buka http://localhost/learn-ci/index.php/blog , kemudian coba anda klik 'post a link', dan coba buat sebuah komentar, jika sudah silahkan anda coba lihat pada database apakah sudah tersimpan data komentar kita didatabase. kalau sudah ada didatabase berarti kita sudah selesai membuat fasilitas komentar menggunakan codeigniter, tapi permasalahannya kita belum bisa menampilkan data komentar pada setiap post yang sudah dibuat. oke kalau gitu kita buat sekarang.
rubah function index() pada file 'blog.php' pada folder 'controller', menjadi seperti dibawah ini :
    public function index()
    {
        $query = $this->db->get('posts'); //query untuk mengambil data dari table posts
        $data['result']= $query->result_array(); // mengambil result $query dalam bentuk array
        foreach($data['result'] as $idx => $item){
            $query_comment= $this->db->get_where('comments', array('post_id' => $item['post_id']));
            $data['result'][$idx]['comments']= $query_comment->result_array();
        }
        $this->load->view('blog', $data); // memanggil view blog.php dan menyertakan variable $data
    }

dan juga rubah file 'blog.php' pada folder 'view' menjadi seperti dibawah ini:
<html>
<head>
    <title>let's learn CI together :D</title>
</head>

<body>
<?foreach($result as $item):?>
    <h2><?=$item['post_title'];?></h2>
    <small> <?=$item['date_post']?></small><br>
    <?=$item['post_content'];?><br>
    <a href="blog/add_comment/<?=$item['post_id']?>">post a comment</a>
   
    <?foreach ($item['comments'] as $comment):?>
        <blockquote style="border:grey solid 1px;background:orange;width:500px;">
        <b><?=$comment['name'];?> says:</b><br>
        <?=$comment['comment'];?>
        </blockquote>
    <?endforeach?>
    <hr>
<?endforeach?>
</body>
</html>
 kalau ngga ada yang error maka tampilannya kaya' gini :
ok, segitu dulu pembahasan kita tentang belajar membuat blog sederhana menggunakan codeigniter, mohon maaf karena tulisannya acak-acakan, insyaAlloh nanti tulisannya akan saya rapikan.

6 komentar:

  1. thanks ya gan ini yang cari

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
  2. aku kurang faham sama yang komentar ini,,,,, nanti si komentar ini insertnya ke tabel mana? lalu bagaimana me manage komentar ini? mohon penjelasannya

    BalasHapus
  3. Iaaaa min tabel komentarnya ...structurnya gimana dan harus ada join atau foreign key kan antar tbl post dan tbl comment

    BalasHapus