Kamis, 05 Januari 2017
Mysqli untuk statistik data kunjungan web, pdf, xml, csv/excell, print
Kali ini kita akan mengupas mysqli untuk kode statistik kunjungan, export ke csv/excel, xml juga print out dan pdf
sebagai berikut codenya :
statistik.php
<?php
$path = "statistik/counter0";
$pathicon = "statistik/counter0";
$ext = ".png";
$ip = $_SERVER['REMOTE_ADDR']; // Mendapatkan IP komputer user
$tanggal = date("Ymd"); // Mendapatkan tanggal sekarang
$waktu = time(); //
$sql="SELECT * FROM `statistik` WHERE ip='$ip' AND tanggal='$tanggal'";
$jum=getJum($conn,$sql);
if($jum == 0){
process($conn,"INSERT INTO `statistik`(ip, tanggal, hits, online) VALUES('$ip','$tanggal','1','$waktu')");
}
else{
process($conn,"UPDATE `statistik` SET hits=hits+1, online='$waktu' WHERE ip='$ip' AND tanggal='$tanggal'");
}
$pengunjung = getJum($conn,"SELECT * FROM `statistik` WHERE tanggal='$tanggal' GROUP BY ip");
$totalpengunjung = getJum($conn,"SELECT COUNT(hits) FROM `statistik`");
$hits = getJum($conn,"SELECT SUM(hits) FROM `statistik` WHERE tanggal='$tanggal' GROUP BY tanggal");
$totalhits = getJum($conn,"SELECT SUM(hits) FROM `statistik`");
$tothitsgbr = getJum($conn,"SELECT SUM(hits) FROM `statistik`");
$bataswaktu = time() - 300;
$pengunjungonline = getJum($conn,"SELECT * FROM `statistik` WHERE online > '$bataswaktu'");
$tothitsgbr = sprintf("%06d", $tothitsgbr);
for ( $i = 0; $i <= 9; $i++ ){
$tothitsgbr = str_replace($i, "<img src='$pathicon/$i$ext' alt='$i$ext'>", $tothitsgbr);
}
echo "<p align=left>$tothitsgbr </p>
<img src='$path/hariini.png'> Pengunjung hari ini : $pengunjung <br>
<img src='$path/total.png'> Total pengunjung : $totalpengunjung <br><br>
<img src='$path/hariini.png'> Hits hari ini : $hits <br>
<img src='$path/total.png'> Total Hits : $totalhits <br><br>
<img src='$path/online.png'> Pengunjung Online: $pengunjungonline";
?>
excel.php
<?php
require_once"../koneksivar.php";
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
$buffer = "";
$separator = ","; //, atau ;
$newline = "\r\n";
$buffer = "kode_mahasiswa".$separator ."nama".$separator ."telepon".$separator ."email".$separator ."keterangan".$separator ."status".$separator;
$buffer .= $newline;
$sql="select `kode_mahasiswa`,`nama`,`telepon`,`email`,`keterangan`,`status` from `$tbmahasiswa` order by `kode_mahasiswa` desc";
$jum=getJum($conn,$sql);
if($jum>0){
$arr=getData($conn,$sql);
foreach($arr as $d) {
$value=$d["kode_mahasiswa"];$buffer .= "\"".$value."\"".$separator;
$value=$d["nama"];$buffer .= "\"".$value."\"".$separator;
$value=$d["telepon"];$buffer .= "\"".$value."\"".$separator;
$value=$d["email"];$buffer .= "\"".$value."\"".$separator;
$value=$d["keterangan"];$buffer .= "\"".$value."\"".$separator;
$value=$d["status"];$buffer .= "\"".$value."\"".$separator;
$buffer .= $newline;
}
}
else{
$buffer .= $newline;
}
header("Content-type: application/vnd.ms-excel");
header("Content-Length: ".strlen($buffer));
header("Content-Disposition: attachment; filename=report.csv");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
print $buffer;
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}
?>
print.php
<style type="text/css">body {width: 100%;} </style>
<body OnLoad="window.print()" OnFocus="window.close()">
<?php
include "../konmysqli.php";
echo"<link href='../ypathcss/$css' rel='stylesheet' type='text/css' />";
?>
<h3><center>Laporan data mahasiswa:</h3>
<table width="100%" border="0">
<tr>
<th width="5%"><center>no</td>
<th width="10%"><center>kode_mahasiswa</td>
<th width="25%"><center>nama</td>
<th width="25%"><center>telepon</td>
<th width="20%"><center>email</td>
<th width="10%"><center>keterangan</td>
<th width="5%"><center>status</td>
</tr>
<?php
$sql="select * from `$tbmahasiswa` order by `kode_mahasiswa` desc";
$jum=getJum($conn,$sql);
$no=0;
if($jum > 0){
$arr=getData($conn,$sql);
foreach($arr as $d) {
$no++;
$kode_mahasiswa=$d["kode_mahasiswa"];
$nama=$d["nama"];
$telepon=$d["telepon"];
$email=$d["email"];
$keterangan=$d["keterangan"];
$status=$d["status"];
if($no %2==1){
echo"<tr bgcolor='#999999'>
<td>$no</td>
<td>$kode_mahasiswa</td>
<td>$nama</td>
<td>$telepon</td>
<td>$email</td>
<td>$keterangan</td>
<td>$status</td>
</tr>";
}//no==1
else if($no %2==0){
echo"<tr bgcolor='#cccccc'>
<td>$no</td>
<td>$kode_mahasiswa</td>
<td>$nama</td>
<td>$telepon</td>
<td>$email</td>
<td>$keterangan</td>
<td>$status</td>
</tr>";
}
}//while
}//if
else{echo"<tr><td colspan='7'><blink>Maaf, Data mahasiswa belum tersedia...</blink></td></tr>";}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}
?>
</table>
xml.php
<?php
header("Content-type: text/xml");
include "../konmysqli.php";
$sql = "select * from `$tbmahasiswa`";
if(getJum($conn,$sql)>0){
print "<mahasiswa>\n";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$kode_mahasiswa=$d["kode_mahasiswa"];
$nama=$d["nama"];
$telepon=$d["telepon"];
$email=$d["email"];
$keterangan=$d["keterangan"];
$status=$d["status"];
print "<record>\n";
print " <nama>$nama</nama>\n";
print " <telepon>$telepon</telepon>\n";
print " <email>$email</email>\n";
print " <keterangan>$keterangan</keterangan>\n";
print " <status>$status</status>\n";
print " <kode_mahasiswa>$kode_mahasiswa</kode_mahasiswa>\n";
print "</record>\n";
}
print "</mahasiswa>\n";
}
else{
$null="null";
print "<mahasiswa>\n";
print "<record>\n";
print " <nama>$null</nama>\n";
print " <telepon>$null</telepon>\n";
print " <email>$null</email>\n";
print " <keterangan>$null</keterangan>\n";
print " <status>$null</status>\n";
print " <kode_mahasiswa>$null</kode_mahasiswa>\n";
print "</record>\n";
print "</mahasiswa>\n";
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}
?>
pdf.php
<?php
require_once"../koneksivar.php";
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
define('FPDF_FONTPATH', '../ypathcss/bantuan/fpdf/font/');
require('../ypathcss/bantuan/fpdf/fpdf.php');
class PDF extends FPDF{
function Header(){
$this->SetTextColor(128,0,0);
$this->SetFont('Arial','B','12');// $this->SetFont('Times','',12);
$this->Cell(20,0,'Data mahasiswa',0,0,'L');
$this->Ln();
$this->Cell(5,1,'Laporan data mahasiswa',0,0,'L');
$this->Ln();
}
function Footer(){
$this->SetY(-4,5);
$this->Image("../ypathfile/avatar.jpg", (8.5/2)-1.5, 9.8, 3, 1, "JPG", "http://www.lp2maray.com");
$this->SetY(-2,5);
$this->Cell(0,1,$this->PageNo(),0,0,'C');
}
}
$sql = "select * from `$tbmahasiswa`";
$jml = getJum($conn,$sql);
$i=0;
$arr=getData($conn,$sql);
foreach($arr as $d) {
$cell[$i][0]=$d["kode_mahasiswa"];
$cell[$i][1]=$d["nama"];
$cell[$i][2]=$d["telepon"];
$cell[$i][3]=$d["email"];
$cell[$i][4]=$d["keterangan"];
$cell[$i][5]=$d["status"];
$i++;
}
$pdf=new PDF('L','cm','A4');
//$pdf=new PDF("P","in","Letter");
$pdf->Open();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','B','9');
$pdf->SetFillColor(192,192,192);
$pdf->Cell(1,1,'no','LR',0,'L',1);
//$pdf->MultiCell(0, 0.5, $lipsum1, 'LR', "L");
$pdf->Cell(2,1,'kode_mahasiswa','LR',0,'C',1);
$pdf->Cell(7,1,'nama','LR',0,'C',1);
$pdf->Cell(5,1,'telepon','LR',0,'C',1);
$pdf->Cell(3,1,'email','LR',0,'C',1);
$pdf->Cell(9,1,'keterangan','LR',0,'C',1);
$pdf->Cell(1,1,'status','LR',0,'C',1);
$pdf->Ln();
$pdf->SetFont('Arial','','8');
for ($j=0;$j<$i;$j++){
$pdf->Cell(1,1,$j+1,'B',0,'L'); // no
$pdf->Cell(2,1,$cell[$j][0],'B',0,'L'); // kode_mahasiswa
$pdf->Cell(7,1,$cell[$j][1],'B',0,'L'); // nama
$pdf->Cell(5,1,$cell[$j][2],'B',0,'L'); // telepon
$pdf->Cell(3,1,$cell[$j][3],'B',0,'L'); // email
$pdf->Cell(9,1,$cell[$j][4],'B',0,'L'); // keterangan
$pdf->Cell(1,1,$cell[$j][5],'B',0,'L'); // status
$pdf->Ln();
}
$pdf->Output();
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}
?>
penampakan print
penampakan xml
Selamat mencoba...:-)
Untuk Pendalaman rekan-rekan bisa kursus bersama kami di
Http://www.lp2maray.com
Download Source Code
Langganan:
Posting Komentar (Atom)



Tidak ada komentar:
Posting Komentar