Cara membuat komentar artikel / blog di Code Igniter

Posted on
Bismillah….
Kali ini saya akan berbagi tentang bagaimana cara membuat komentar artikel. Biasanya digunakan untuk menu blog, atau artikel-artikel yang memerlukan komentar.

Logika membuat komentar di Code Igniter

Saya rasa anda sudah paham, kalau dalam programming jika terjdi kesalahan itu hanya ada dua macam, yaitu kesalahan syntak atau kesalahan logika. Karena itu sebelum kita membahas syntak, coba pahami dulu logika dalam membuat komentar.

Pertama, seperti yang anda tahu, kalau yang namanya komentar di artikel blog itu hanya dimiliki oleh satu artikel tertentu. Sehingga diperlukan id artikel untuk kita mengidentifikasi yang mana yang komentar milik artikel ini, dan yang mana komentar untuk artikel yang lain.

Kedua, Yang paling menonjol dalam membuat komentar adalah view dan input ada di satu tampilan. jadi kita ndak perlu yang namanya membuat form tambah sendiri dan form edit sendiri.

Tabel komentar

Sebelumnya saya kasih lhat dulu tabel komentar saya, kayak begini:

 Kemudian tabel artikel saya:

Dari gambar diatas bisa dilihat, nanti yang akan kita relasikan adalah artikel.id dan komentar.id_artikel.

Codenya kayak gini

Mungkin kode dari controller, model mau pun view yang saya tampilkan tidak mutlak sesuai project yang sedang Anda buat. Anda bisa menyesuaikan, dan mengambil inti-intinya saja. Kode function dibawah saya ambilkan dari project Kerja Praktik saya membuat Web Profile di PD IPM Kabupaten Magelang, dimana salahs satu bagian atau menunya adalah blog.
Controller: function kirimKomentar
Function ini silahkan Anda tambahkan pada controller yang Anda miliki, controller yang akan digunakan untuk komentar tentunya. Entah itu Anda menggunakan controller artikel sekaligus, membuat controller sendiri atau lainnya. Sesuaikan dengan milik Anda.
     public function kirimKomentar(){ 
$id_artikel = $this->input->post('id_artikel');
$nama = $this->input->post('nama');
$email = $this->input->post('email');
$website = $this->input->post('website');
$komentar = $this->input->post('komentar');
// $tanggal = $this->input->post('tanggal');
$data = array(
'id_artikel' => $id_artikel,
'nama' => $nama,
'email' => $email,
'website' => $website,
'komentar' => $komentar,
'tanggal' => date('d/m/y')
);
$this->m_komentar->input_data($data);
echo "berhasil kriim";
redirect('ipm/readmore/'.$id_artikel);
}

Model: Function GetKomentar
Pada function dibawah, silahkan Anda cermati. Dibawah ada operasi join antara tabel artikel dan tabel komentar dimana yang menjadi kondisi adalah kesamaan antara id artikel.
     public function GetKomentar($id_artikel){
$this->db->select("*");
$this->db->from('komentar');
$this->db->where('id_artikel', $id_artikel);
$this->db->join('artikel','artikel.id=komentar.id_artikel');

return $this->db->get();
}

View-nya
Untuk view disini saya mengcopy-paste saja dari dari view punya saya, dimana kalau dilihat agak sedikit rumit mungkin nampak kode-kode template. Namun intinya sama saja.
Yang harus diperhatikan hanya ada dua bagian disitu, yang pertama bagian atas itu adalah menampilkan komentar dan bagian bawah adalah form komentar.

Baca juga  How to parse RSS feed from other website on PHP CodeIgniter

                    <div id="comments" class="comments">
                    <?php
foreach ($komentars as $key) {
                    ?>

                        <div class="comments-list">
                            <div class="comment media">
                                <div class="pull-left">
                                    <img class="avatar" src="<?php echo base_url();?>assets/images/avatar/avatar.jpg" alt="" />
                                </div>
                                <div class="media-body">
                                    <strong>Tanggapan dari <a href="<?php echo $key->website;?>" ><?php echo $key->nama;?></a></strong><br>
                                    <small><?php echo $key->tanggal?></small><br>
                                    <p><?php echo $key->komentar; ?></p>
                                </div>
                            </div>
<?php } ?>
                        </div>
                        <!-- Start Comment Form -->
                        <div class="comment-form">
                            <h4>Silahkan tinggalkan komentar</h4>
                            <p class="muted">Pastikan anda mengisi form yang bertanda bintang (*).</p>
                            <form  method="POST" name="comment-form" id="comment-form" action="<?php echo base_url(). 'index.php/artikel/kirimKomentar'; ?>">
                            <input type="hidden" name="id_artikel" value="<?php   echo $artikel->id; ?>" />
                                <div class="row-fluid">
                                    <div class="span4">
                                        <input type="text" name="nama" required="required" class="input-block-level" placeholder="Ketikkan nama Anda" />
                                    </div>
                                    <div class="span4">
                                        <input type="email" name="email" required="required" class="input-block-level" placeholder="Ketikan email anda" />
                                    </div>
                                    <div class="span4">
                                        <input type="url" name="website" class="input-block-level" placeholder="Website" />
                                    </div>
                                </div>
                                <textarea rows="10" name="komentar" id="komentar" required="required" class="input-block-level" placeholder="Message"></textarea>
                                <input type="submit" value="Submit Comment" class="btn btn-large btn-primary" />
                            </form>

Nah, mungkin cuma seperti itu. yang bisa saya bagikan. Semoga bermangaat untuk saya dan Anda yang membaca. Jika ada pertanyaan silahkan bisa dikomentar.

0 0 votes
Article Rating
Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
sutriman
8 years ago

Itu uda komplit.
yang modelnya itu function getkomentar itu.

herdiansah Zha
8 years ago

mas kalo tutorial insert komentar nya yg bagian model sama form komentarnya gk ada yah? itucuma buat nampilin komentarnya doank