ES^015

ES^015

 

Terdapat informasi Most View Form.

 

PERMASALAHAN

 

PEMECAHAN MASALAH

Menampilkan informasi perihalform yang paling banyak dikunjungi/dilihat oleh user, ini merupakan salah satu pencatatan aktivitas user yang dapat kita rekam jejaknya dan disimpan dalam sebuah file. File yang biasa digunakan untuk menyimpan rekaman aktivitas user ini adalah dalam format .txt dengan membuat sebuah konsepnya seperti pada gambar dibawah ini :

Lalu di implementasikan langsung pada Form dengan cara menambahkan code pada file Layout Form SiS+ nya seperti ini :

//————–Mengambil link form————–//

<?php $actual_link = “http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]”;

//————–Mengambil kategori form yang diakses————–//

function GetKategoriForm($form) {
$sql = “select KodeMenuKategori from TMMenu where LinkMenu like’%$form%’ “;
$command = Yii::app()->db->createCommand($sql);
$results = $command->queryRow();
if ($results == NULL) {
return 1 ;
}
else {
return $results[‘KodeMenuKategori’];
}
}

//————–Mengambil id form yang diakses————–//

function GetIdForm($form) {
$sql = “select KodeMenu from TMMenu where LinkMenu like’%$form%’ “;
$command = Yii::app()->db->createCommand($sql);
$results = $command->queryRow();
if ($results == NULL) {
return 1 ;
}
else {
return $results[‘KodeMenu’];
}
}

//————–Mengambil 5 data form dengan kategori sama————–//

function DataFormKategori($form) {

$kategori = GetKategoriForm($form);
$sql = “select * from TMMenu where KodeMenuKategori= $kategori order by rand() limit 5”;
$command = Yii::app()->db->createCommand($sql);
$results = $command->queryAll();
return $results;

}

//————–Mengambil 5 data form dengan kategori sama————–//

function NamaForm($form,$content) {

$sql = “select * from TMMenu where KodeMenu = ‘$form’ “;
$command = Yii::app()->db->createCommand($sql);
$results = $command->queryRow();
if ($content ==1) {
return $results[‘NamaMenu’];
}
else {
return $results[‘LinkMenu’];
}
}
?>

//————–Mengambil data yang paling banyak view form————–//

<?php

$KategoriForm = GetKategoriForm($actual_link);
$IdForm = GetIdForm($actual_link);
$View = 1 ;
$Download = 0 ;

$LogForm = Sis::model()->LogForm($KategoriForm,$IdForm,$View,$Download);

$array = array ();
foreach( Sis::model()->GetCounter2(‘LogForm.txt’) as $d) {
$explode = explode(“|”,$d);
$array[$explode[2]][] = $explode[3];
}
$array2=array();
foreach($array as $d1=>$d2)
{

$array2[$d1]=array_sum($array[$d1]);

}
?>

Lalu tambahkan code seperti dibawah ini pada widget Most View nya :

<?php
arsort($array2);

$no = 1 ;
foreach ($array2 as $d=>$d2) {
if ($no<=3) {

echo “<tr class=warning >
<td style=line-height:1><p class=text-error><a href=”.NamaForm($d,2).”>”.NamaForm($d,1).”</a> <br> <i>(“.$d2.” view)</i></p></td></tr>”;
}
$no++;
}

?>

Hasil akhirnya adalah seperti gambar berikut ini :