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
Kemudian tabel artikel saya:
Codenya kayak gini
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);
}
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.
<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.
Itu uda komplit.
yang modelnya itu function getkomentar itu.
mas kalo tutorial insert komentar nya yg bagian model sama form komentarnya gk ada yah? itucuma buat nampilin komentarnya doank