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(){kemudian buat file 'add_comment.php' dalam folder 'view', isi scriptnya seperti ini:
$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);
}
<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.
<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>
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>kalau ngga ada yang error maka tampilannya kaya' gini :
<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>
ok, segitu dulu pembahasan kita tentang belajar membuat blog sederhana menggunakan codeigniter, mohon maaf karena tulisannya acak-acakan, insyaAlloh nanti tulisannya akan saya rapikan.
terima kasih bro
BalasHapusthanks ya gan ini yang cari
BalasHapusKomentar ini telah dihapus oleh pengarang.
Hapusaku kurang faham sama yang komentar ini,,,,, nanti si komentar ini insertnya ke tabel mana? lalu bagaimana me manage komentar ini? mohon penjelasannya
BalasHapusIaaaa min tabel komentarnya ...structurnya gimana dan harus ada join atau foreign key kan antar tbl post dan tbl comment
BalasHapusmantap
BalasHapus