counter view post unique


berikut cara untuk membuat view post atau jumlah kunjungan pada sebuah posting , dimana akan mengunci pada session user , sehingga klik refresh tidak akan menambah jumlah counter, kita menggunakan 2 tabel , 1 tabel artikel dan 1 tabel page count yang berisi histori session (agar klik refresh tidak menambah jumlah counter )

database

tabel page count


tb_page_count (id_page_count,user_ip,tanggal,session_id,id_artikel)

user_ip = ip_addres pengujung

tanggal = tanggal pada saat masuk

session_id = session browser pada saat masuk

id_artikel = id artikel yang kita lihat

tabel artikel


tb_artikel (id_artikel,nama_artikel,counter)

kode insert setiap buka artikel tersebut


function connect_db() {
$server = 'localhost'; // this may be an ip address instead
$user = '............... ';
$pass = ' ........';
$database = ' ...........';
$connection = new mysqli($server, $user, $pass, $database);

return $connection;
}

$user_ip=$_SERVER['REMOTE_ADDR']; // gets the user IP Address
$ses_id=session_id();
$sql_cek="select id_page_count from tb_page_count where id_artikel='$id' and user_ip='$user_ip' and ses_id='$ses_id'";

$hasil_cek = $db->query($sql_cek)or die("insert data gagal, Sistem penyimpanan bermasalah");
$rowscek = $hasil_cek->num_rows;
$hasil_cek->close();
if($rowscek ==0)
{
$tanggal =date( 'Y-m-d H:i:s');
$sql2="insert into tb_page_count(id_artikel,user_ip,ses_id,tgl) values('$id','$user_ip','$ses_id','$tanggal'); update tb_jual set counter = counter+1 where id_artikel='$id' ";
$db->multi_query($sql2) or die("insert data gagal, Sistem penyimpanan bermasalah");
while($db->more_results() && $db->next_result()) {
$result = $db->use_result();
if($result instanceof mysqli_result){
$result->free();
}
}

}

kode menampilkan jumlah klik, langsung ditampilkan dari tabel artikel


select tb_artikel.counter where id_artikel ='....'

  • kode ini jika dieksekusi , akan menambah jumlah counter tetapi jika kita referes tidak akan menambah karena session nya masih ada , jika session nya sudah habis maka counter akan tambah,
  • jika dibuka dengan browser yang beda dalam komputer yang sama, dalam waktu yang sama akan menambah counter karena beda session browser

semoga berguna 🙂

referensi :

Iklan

tinggalkan pesan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: