Diberdayakan oleh Blogger.
RSS

Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat

Tulisan ini mengawali tutorial di awal tahun 2012.. sebelumnya penulis ingin mengucapkan "Selamat Tahun Baru 2012" kepada pembaca dan pengunjung setia web ini..

Tema yang akan penulis tulis kali ini adalah mengenai Upload File (Import) data Excel ke dalam Database.. namun dengan sentuhan / catatan:
1. Jika terdapat duplikasi data dalam file excel (NIM), maka akan difilter, dan akan dimasukkan dalam tabel gagal dengan keterangan "Duplikasi NIM"
2. Jika terdapat NIM yang kosong, maka akan difilter juga dan dimasukkan ke dalam tabel gagal dengan keterangan "NIM Kosong"
3. Jika ke-2 syarat diatas lolos, maka akan disimpan ke dalam tabel sukses (mahasiswa)..

jadi intinya, memudahkan si pengguna untuk mengetahui "Mana data yang berhasil diupload dan Mana data yang gagal diupload", karena ke-2 hal tersebut telah dipisahkan
secara otomatis..

simpel kan.. namun cukup membuat pusing khususnya untuk para pemula..
kita langsung saja...

Siapkan database dan 2 tabel dengan spesifikasi seperti berikut:
tmahasiswa
nim | varchar(10)
nama | varchar(100)
alamat | varchar(100)
jurusan | varchar(50)
hp | varchar(20)

tgagal
nim | varchar(10)
nama | varchar(100)
keterangan | varchar(100)

download file excel Reader terlebih dahulu disini. file tersebut digunakan untuk mampu membaca data file excel

Buat file php dengan nama:
form_import.php
<h1>Import Data Excel</h1>

<form method="post" enctype="multipart/form-data" action="proses_import.php">
Pilih File Excel: <input name="userfile" type="file"><br />
<input name="upload" type="submit" value="Import">
</form>


dan
proses_import.php
<?php
// menggunakan class phpExcelReader
include "excel_reader2.php";

// koneksi ke MySQL
mysql_connect("localhost","root","");
mysql_select_db("dbagussaputra");

// membaca file excel yang diupload
$data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']);

// membaca jumlah baris dari data excel
$baris = $data->rowcount($sheet_index=0);

// import data excel mulai baris ke-2
// (karena baris pertama adalah nama kolom)
for ($i=2; $i <= $baris; $i++){
    $nim = $data->val($i, 1);
    $nama = $data->val($i, 2);
    $alamat = $data->val($i, 3);
    $jurusan = $data->val($i, 4);
    $hp = $data->val($i, 5);
   
    $cari = mysql_num_rows(mysql_query("SELECT nim FROM tmahasiswa WHERE nim = '$nim'"));
   
    if (empty($nim)){
        $hasil = mysql_query("INSERT INTO tgagal(nim,nama,keterangan) VALUES('$nim','$nama','NIM Kosong')");
    }
    elseif ($cari > 0){
        $hasil = mysql_query("INSERT INTO tgagal(nim,nama,keterangan) VALUES('$nim','$nama','Duplikasi NIM')");
    }
    else{
        // setelah data dibaca, sisipkan ke dalam tabel tsukses
        $hasil = mysql_query("INSERT INTO tmahasiswa(nim,nama,alamat,jurusan,hp) VALUES('$nim','$nama','$alamat','$jurusan','$hp')");
    }
}

echo "Berhasil";
?>


langsung saja bisa Anda jalankan melalui http://localhost/namaFolder/form_import.php

Klik disini untuk mengunduh file excelnya dalam format yang ditentukan

Skrip yang dibuat diatas ditulis dengan menggunakan database MySQL, namun jika Andamenginginkan menggunakan database SQL Server, cukup ubah saja mysql nya menjadimssql ..

semoga tutorial kali ini dapat memberikan manfaat kepada Anda

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar