Dalam kesempatan kali ini saya akan memberikan contoh Function untuk membuat nomor urut transaksi. Seringkali kita melihat sebuah nomor transaksi pada sebuah nota / faktur yang terdiri dari informasi tahun, bulan, tanggal dan nomor urut transaksi itu terjadi.
function nopenjualan(){
$format = date(“ymd”);
$sql=mysql_query(“SELECT kodetransaksi FROM salesproduk_h WHERE substr(kodetransaksi,1,2)=’SL’ AND substr(kodetransaksi,3,6) like ‘%”.$format.”%’ ORDER BY kodetransaksi DESC LIMIT 1 “) or die (mysql_error());
$d=mysql_num_rows($sql);
if($d>0){
$r=mysql_fetch_array($sql);
$d=$r[‘kodetransaksi’];
$str=substr($d,8,6);
$No_Urut = (int)$str;
}else{
$No_Urut = 0;
}
$No_Urut = $No_Urut + 1;
$Nol=””;
$nilai=5-strlen($No_Urut);
for ($i=1;$i<=$nilai;$i++){
$Nol= $Nol.”0″;
}
$Kd_Trans =”SL”.$format.$Nol.$No_Urut;
return $Kd_Trans;
}
Penggunaannya :
$kodeTransaksi=nopenjualan();
echo $kodeTransaksi;
Tercetak :
SL100505000762
SL : Sales
10 : 2010
05 : Mei
05 : Tanggal
000762 : Urutan Transaksi
Semoga Bermanfaat
Advertisement
Categories: Mysql, PHP, Tips, Tutorial Tags: Mysql, PHP, PHP String, Trik n Tips
Extract ZIP File Insert MYSQL From DBF File
May 5, 2010 erroz
Pada pembahasan sebelumnya mengenai Eksport DBF ke MYSQL dengan Menggunakan PHP sudah dijelaskan secara teknis untuk mengimport data dari DBF file. Pada tutorial kali ini pun tidak jauh berbeda seperti sebelumnya, perbedaannya adalah kita akan mulai dari mengekstrak file zip, kemudian kita mengambil file DBF tersebut hingga menghapus file DBF yang telah kita import ke MYSQL database kita.
/* Langkah Awal Kita Cek Apakah ada File ZIP di Folder Awal */
$dir = “C:/xampp/htdocs/zip/”;
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (substr($file,-3)==’ZIP’){
$nmFile=$file; (Jika Ekstension File adalah ZIP)
}
}
closedir($dh);
}
}
/* Langkah Kedua Ekstrak ZIP File ke Folder Tujuan */
$zip = new ZipArchive;
if ($zip->open($nmFile) === TRUE) {
$zip->extractTo(‘C:/xampp/htdocs/zip/ekstrak/’);
$zip->close();
/* Cek Apakah File DBF ada, Jika Ada Insert Ke Array Dahulu */
if (file_exists(“MSBANK.DBF”)) {
$sql=”;
$sql=array();
$insert=dbase_open(“MSBANK.DBF”,0); /*Buka DBF File */
if ($insert){
echo “The file MSBANK.DBF exists<br>”;
$jum_record=dbase_numrecords($insert);
$nilai=0;
for ($ind=1;$ind<=$jum_record;$ind++){
$data=dbase_get_record($insert,$ind);
$sql[] = ‘(“‘.$data[0].'”,”‘.$data[1].'”,”‘.$data[2].'”,”‘.$data[3].'”,
“‘.$data[4].'”,”‘.$data[5].'”,”‘.$data[6].'”,”‘.$data[7].'”,”‘.$data[8].'”,”‘.$data[9].'”)’;
}
dbase_close($insert);
}
echo ‘Master Bank Rows ‘.$jum_record.'<br>’;
mysql_query(‘TRUNCATE TABLE `tempbank`’) or die (mysql_error());
$h=’INSERT INTO tempbank VALUES ‘.implode(‘,’, $sql) ;
mysql_query($h) or die (mysql_error());
/* Jika Data Sama Cek Perintah Update dengan Data Terbaru */
$sql=”;
$sql=array();
$ql=mysql_query(‘SELECT * FROM tempbank ORDER BY kodebank ASC’) or die (mysql_error());
while($rh=mysql_fetch_row($ql)){
$l=mysql_query(‘SELECT kodebank FROM bank WHERE kodebank=”‘.$rh[0].'”‘) or die (mysql_error());
$jj=mysql_num_rows($l);
if ($jj>0){
$update=’UPDATE bank SET
kodebank=”‘.$rh[0].'”,
namabank=”‘.$rh[1].'”,
digit=”‘.$rh[2].'”,
valid=”‘.$rh[3].'”,
createdate=”‘.$rh[4].'”,
createtime=”‘.$rh[5].'”,
createuser=”‘.$rh[6].'”,
lastupdate=”‘.$rh[7].'”,
lastupdatetime=”‘.$rh[8].'”,
lastupdateby=”‘.$rh[9].'”
WHERE kodebank =”‘.$rh[0].'”‘;
mysql_query($update) or die (mysql_error());
}else{
“‘.$rh[4].'”,”‘.$rh[5].'”,”‘.$rh[6].'”,”‘.$rh[7].'”,”‘.$rh[8].'”,”‘.$rh[9].'”)’;$sql[] = ‘(“‘.$rh[0].'”,”‘.$rh[1].'”,”‘.$rh[2].'”,”‘.$rh[3].'”,
}}
/* Jika Data Berbeda Insert Baru */
$h=’INSERT INTO bank VALUES ‘.implode(‘,’, $sql) ;
$jumArray = count($sql);
if ($jumArray>0){
mysql_query($h) or die (mysql_error());
}
} else {
echo “The file MSBANK.DBF does not exist”;
}
}else{
echo ‘Tidak Ada File ZIP yang diekstrak !’;
}
/* Hapus File DBF dan ZIP */
if (file_exists($nmFile)) {
unlink($nmFile);
}
if (file_exists(‘MSBANK.DBF’)) {
unlink(‘MSBANK.DBF’);
}
Script diatas sudah diujicoba di dapur sendiri 🙂 alias berdasarkan kasus yang saya pernah kerjakan ketika harus mengimport data dari DBF File. Jika ada cara yang lebih baik silahkan sharing disini. Sampai saat ini saya masih mencari tau bagaimana ekstrak ZIP File yang terenkripsi password dimana passwordnya kita ketahui. Mungkin ada yang tahu boleh sharing disini juga. Terima Kasih.
Semoga Bermanfaat
Categories: Mysql, PHP, Tips, Tutorial Tags: Mysql, Oleh - Oleh, PHP, Trik n Tips
Penggunaan Mysql Real Escape String
February 19, 2010 erroz
Pada kesempatan kali ini saya akan memberikan contoh penggunaan mysql_real_escape_string yang bisa kita buatkan dalam sebuah file kemudian diincludekan di setiap halaman yang berhubungan dengan query di mysql. Tujuannya tentu menghindari perintah – perintah injeksi untuk query mysql kita.
Sebelumnya kita buatkan sebuah file dengan nama cekIsi.php kemudian include-kan file ini disetiap halaman yang mengeksekusi query mysql.
cekIsi.php
<?php
//stops SQL Injection in POST vars
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
// stops SQL Injection in GET vars
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
?>
Semoga Bermanfaat
Categories: Java Script, Mysql, PHP, Tips Tags: Mysql, Oleh - Oleh, Trik n Tips, Weekend
Eksport DBF ke MYSQL dengan Menggunakan PHP
August 29, 2009 erroz
Ketika membuat program saya menemukan kendala harus mengambil data dari file DBF. Lalu bagaimana caranya mengeksport data DBF ke Mysql ? Berikut ini tutorialnya :
<?php
/* buka koneksi database kita */
$server = “localhost”;
$username = “root”;
$password = “”;
$database = “dbtes”;
mysql_connect($server,$username,$password) or die(“Koneksi gagal”);
mysql_select_db($database) or die(“Database tidak bisa dibuka”);
/* memanggil file DBF untuk kita Buka */
$insert=dbase_open(“D:\DBF\kota.dbf”,0);
if ($insert){
$jum_record=dbase_numrecords($insert);
/* looping record dari DBF lalu insert ke mysql */
for ($ind=1;$ind<=$jum_record;$ind++){
$record=dbase_get_record($insert,$ind);
mysql_query(“INSERT INTO kota (idkota,idpropinsi,Nama_Kota)
VALUES ($record[0],’$record[1]’,’$record[2]’)”);
}
/* close insert */
dbase_close($insert);
}?>
Sebelumnya pastikan extension php_dbase dalam php.ini sudah diaktifkan, extension=php_dbase.dll. Perintah dbase_open(“D:\DBF\kota.dbf”,0); berarti membuka file DBF dengan Mode Read Only (0), untuk Write Only diwakilkan dengan mode (1), dan Read and Write dengan mode (2). Jika ada yang mengetahui cara lebih mudah untuk mengekspor file DBF ke Mysql, bisa share disini.