Friday, January 1, 2016

Import File Excel ke Database Mysql dengan PHP

Kali ini kita akan belajar cara untuk update data atau menambahkan data dengan jumlah banyak tetapi sekali upload. Cara ini sangat ampuh apabila sistem yang akan diterapkan terdapat jumlah data yang banyak. Maka solusinya kita dapat menggunakan excel untuk update database.
Berikut adalah langkah-langkahnya

Pertama, kita buat file excel dan isi sesuai gambar

Import Data excel ke mysql

Kedua, buat database, ketikan pada mysql
CREATE TABLE IF NOT EXISTS `mesin` (
  `mesinID` int(11) NOT NULL AUTO_INCREMENT,
  `mesin_code` varchar(11) NOT NULL,
  `desc` text NOT NULL,
  `seri` varchar(11) NOT NULL,
  `created_by` varchar(12) NOT NULL,
  `created_date` datetime NOT NULL,
  PRIMARY KEY (`mesinID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
Ketiga, kita buat file baru dengan nama impor.php

<title>Script Import File Excel</title> <h1>Script Import File Excel</h1> <form method="post" enctype="multipart/form-data" action="jalan.php"> Pilih File Excel*: <input name="fileexcel" type="file"> <input name="upload" type="submit" value="Import"> </form> * file yang bisa di import adalah .xls (Excel 2003-2007).
 Keempat, buat file baru lagi proses.php (file ini untuk proses data)
include "excel_reader2.php";
$username = "root";
$password = "";
$database = "tes";
mysql_connect("localhost", $username, $password);
mysql_select_db($database);
// file yang tadinya di upload, di simpan di temporary file PHP, file tersebut yang kita ambil
// dan baca dengan PHP Excel Class
$data = new Spreadsheet_Excel_Reader($_FILES['fileexcel']['tmp_name']);
$hasildata = $data->rowcount($sheet_index=0);
// default nilai 
$sukses = 0;
$gagal = 0;
for ($i=2; $i<=$hasildata; $i++)
{
  $data1 = $data->val($i,2); 
  $data2 = $data->val($i,3);
  $data3 = $data->val($i,4);
  $created_by = 'Admin'; 
  $date = date('Y-m-d H:i:s');
  $rand = rand();
$query = "INSERT INTO mesin  VALUES (null,'$data1','$data2','$rand', '$created_by', '$date')";
$hasil = mysql_query($query);
if ($hasildata) $sukses++;
else $gagal++;
echo "< pre>";
print_r($query);
echo "< /pre>";
}
echo "import data selesai.";
echo "Data yang berhasil di import : ".$sukses.;
echo "Data yang gagal diimport : ".$gagal.;
echo "back import";
?>
Sekarang anda bisa coba panggil file import dan php pada browser. Jika ada error silahkan bertanya