Kamis, 21 Juni 2012

Membuat komentar pada artikel dengan PHP MySql

Kali ini kita akan membuat komentar yang nanti akan ditampilkan ditiap artikel yang dikomentari oleh pengunjung halaman tersebut. sebelumnya, kita harus membuat tabel untuk menyimpan data komentarnya dan juga artikelnya.
tabel_artikel
Nama Kolom type size AI key
id_artikel INT 5 * *
judul_artikel VARCHAR 100

isi_artikel TEXT


tabel_komentar
Nama Kolom type size AI key
id_komentar INT 5 * *
id_artikel INT 5

nama VARCHAR 100

komentar TEXT


setelah kedua tabel dibuat, sekarang kita akan membuat daftar artikelnya
index.php
<?php
//koneksi ke database
$hostname = "localhost"; 
$username = "root"; 
$password = "password"; 
$database = "website_ku";
$koneksi = mysql_connect($hostname,$username,$password);
    mysql_select_db($database,$koneksi);

//query artikel
$query = mysql_query("SELECT * FROM tabel_artikel WHERE `id_artikel` = '$id' ");
echo '<ul>';
while ($data = mysql_fetch_array($query)) {
 echo '<li><a href="lihat.php?id='.$data['id_artikel'].'>'.$data['judul_artikel'].'</a></li>';
}
echo '</ul>';
buatlah juga halaman untuk menampilkan artikel yang dipilih seluruhnya.
lihat.php
<?php
//koneksi ke database
$hostname = "localhost"; 
$username = "root"; 
$password = "password"; 
$database = "website_ku";
$koneksi = mysql_connect($hostname,$username,$password);
      mysql_select_db($database,$koneksi) ;

//mengambil data GET dari halaman sebelumnya, 
//untuk lebih jelas tentang ini, silahkan buka artikel sebelumnya tentang membuat link read more
$id = $_GET['id'];

//query untuk artikel
$query_artikel  = mysql_query("SELECT * FROM tabel_artikel WHERE `id_artikel` = '$id' ");
$data     = mysql_fetch_array($query);
echo '<h1>'.$data['judul_artikel'].'</h1>';
echo $data['isi_artikel'];

//sebelum menampilkan form untuk submit komentar, sebaiknya dibuat dahulu action untuk formnya
if (isset($_POST['kirim'])) {
 $nama   = $_POST['nama'];
  $komentar  = $_POST['komentar'];
   $id_artikel = $_POST['id'];
  
 //disini bisa dimasukan kode untuk validasi formnya
   //langsung tanpa validasi, males bikin n_n
   $query_submit = mysql_query("INSERT INTO tabel_komentar (`id_komentar`, `id_artikel`, `nama`, `komentar`) VALUES ('id_komentar', '$id_artikel', '$nama', '$komentar') ");
   if ($query_submit) {
    echo 'berhasil mengirimkan komentar';
   } else {
    echo 'gagal mengirimkan komentar';
   }
}
echo '<h3>Komentar</h3>';

//menampilkan data komentar berdasarkan id-nya yang diambil dari GET
$query_komentar = mysql_query("SELECT * FROM tabel_komentar WHERE `id_artikel` = '$id' ");
//cek apakah sudah ada komentar atau tidak
if (mysql_num_rows($query_komentar) == 0) {

 //kalau tidak ada maka akan me
 echo 'belum ada komentar';
} else {
   while ($data_komentar = mysql_fetch_array($query_komentar)) {
    echo '<b>'.$data_komentar['nama'].'</b><br>';
    echo $data_komentar['komentar'].'<br>';
  }
}
?>
<!--tampilkan form komentar-->
  <h3>Beri Komentar</h3>
  <form method="POST">
    <input type="text" name="nama"><br>
    <textarea name="komentar"></textarea><br>
    <input type="submit" name="kirim" value="Kirim Komentar">
  </form>

3 komentar:

  1. aloo salam kenal...terima kasih artikelnya bang. sangat membantu...

    BalasHapus
  2. Balasan
    1. kalau untuk komentar yang ada fitur balas komentarnya gimana kang?

      Hapus