• Login
  • Join
  • Home
  • Profil
  • Cara Pembelian
  • Kontak

logo

  • Home
  • Kategori Tutorial
    • Ajax - JQuery
    • API Developer
    • CakePHP
    • CodeIgniter
    • HTML & CSS
    • Lain-lain
    • MySQL - MySQLi
    • OOP PHP
    • PHP Classic
    • Smarty PHP
    • SMS Gateway
    • Version Control
  • Download
  • My Books
  • Prosedur Penulisan Naskah
  • Toko Online
  • My Sites
    • Asfamedia.com
    • Asfasolution.com
    • Komiqu.com
Home
  • Home
  • Login
  • Join
  • Kategori Tutorial
    • Ajax - JQuery
    • API Developer
    • CakePHP
    • CodeIgniter
    • HTML & CSS
    • Lain-lain
    • MySQL - MySQLi
    • OOP PHP
    • PHP Classic
    • Smarty PHP
    • SMS Gateway
    • Version Control
  • Download
  • Info Buku
  • Prosedur Penulisan Naskah
  • Toko Online
  • My Sites
    • Asfamedia.com
    • Asfasolution.com
    • Oaseast.com
  • Pembelian online saat ini dialihkan ke www.asfamedia.com
  • Dapatkan diskon hingga 40% dengan bergabung sebagai member di asfamedia.com (Khusus buku-buku penerbit CV. ASFA Solution)
  • Segera daftarkan email Anda di newsletter melalui right column untuk mendapatkan informasi terbaru agussaputra.com
  • Artikel dan informasi yang ditampilkan bisa Anda copy, dengan catatan: menuliskan sumber : agussaputra.com
  • Home
  • Artikel
  • Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat

Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat

06 Januari 2012
36   
14.963

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)


copy mode atau 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>mport Data Excel</h1>
<form action="proses_import.php" enctype="multipart/form-data" method=“POST”>
Pilih File Excel: <input name="userfile" type="file" />
<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

Skrip yang dibuat diatas ditulis dengan menggunakan database MySQL, namun jika Anda menginginkan menggunakan database SQL Server, cukup ubah saja mysql nya menjadi mssql .. semoga tutorial kali ini dapat memberikan manfaat kepada Anda

recommend to friends
  • twitter

Artikel Terkait

Mengirim Email Lampiran di PHP (File Attachment)

Mengirim Email Lampiran di PHP (File Attachment)

16-01-2017 0
Membuat Menu Tree Sendiri

Membuat Menu Tree Sendiri

07-11-2016 0
Membuat Dynamic Multiple Upload dengan PHP

Membuat Dynamic Multiple Upload dengan PHP

02-11-2016 0
Mengirim Email Otomatis dengan Cron Jobs

Mengirim Email Otomatis dengan Cron Jobs

31-10-2016 0

Komentar

  1. Jefri
    06-01-2012, 10:11:42

    wow.. mantabs.. pertamax.. baru saja sy mau tanya soal filtering excel ini, malah uda diposting duluan, barusan lagi.. ga jadi nanya dah.. tq master agus :D

  2. Agus Saputra
    06-01-2012, 17:00:18

    Jefri @ mantab dah kalo gitu.. =D

  3. enasri
    16-01-2012, 21:56:56

    goods job tetap berkarya ....mas kalau dari ms.accses 2003 ke my sql codingnya gimana .... kirim ke email: fsaktinasri@gmail.com

  4. mantab
    12-03-2012, 20:11:15

    mantab Mas, tapi mau tanya nih..
    itu kan scra Default file excel yg diimport Sheet1 (sheet pertama) kalo misal yg akan saya import "sheets 2" bagaimana mas?
    thanks.. perlu bgt nih.

  5. Agus Saputra
    13-03-2012, 09:42:58

    mantab @ untuk lebih jelas, bisa klik di http://code.google.com/p/php-excel-reader/wiki/Docu mentation ...

  6. radhitya
    26-03-2012, 13:59:02

    mas kalo import dengan excel yang telah didesign halamanya gmna cara ngambil datanya??

  7. Agus Saputra
    26-03-2012, 16:55:08

    radhitya @ mudah kok.. bisa Anda tuliskan seperti skrip dibawah:
    <?php
    $namaFile = "namafile.xls";
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Co ntent-Type:application/octet-stream");
    header("Cont ent-Type:application/download");
    header("Content- Disposition: attachment; filename=$namaFile");
    header("Content-Tr ansfer-Encoding: binary ");

    // skrip selanjutnya (sama seperti menampilkan data pada konten web), desain bisa menggunakan kode html..
    misalnya:

    echo "<table>
    <tr bgcolor=#ccc>
    ....


    nanti pada buku selanjutnya ada pembahasan mengenai case tersebut..

  8. yan
    31-05-2012, 18:19:59

    alhamdulillah sukses make programnya mas
    makasi banyak
    tinggal gmn cara sbaliknya
    download ke excell

  9. Agus Saputra
    01-06-2012, 09:00:51

    yan @ sippp.. :) nanti saya akan share mengenai download ke excel.. :)

  10. ss joker
    06-09-2012, 11:22:49

    matur nuwun...pak,mas,om,pakdhe...

  11. rohman
    23-02-2013, 09:35:23

    tanya mas...
    untuk file yang di upload dengan script spt;

    $data = new spreadsheet_excel_reader($_FILES['userfile 9;]['tmp_name']);


    nah yang au mau tanyakan :
    ['usrfile'] itu di isi apa yaa/ ttep di biarkan gtu aja
    dan juga ['tmp_name']... mohon bantuanya mas.... tolong balas di email aq. rohmanshared@yahoo.com

  12. rohman
    23-02-2013, 09:36:42

    aku boleh minta alamat emailnya mas gak... atau no hp... bwt temen sharing aja

  13. rohman
    23-02-2013, 09:38:19

    boleh minta no hp nya gk mas... atau emailnya... bwt sharing aja...

  14. Agus Saputra
    23-02-2013, 12:20:59

    rohman @ email saya di:
    takehikoboyz@gmail.com

    $_FILES['userfi le']['tmp_name']
    userfile itu sumbernya dari file formnya..
    <input type=file

    sedangkan tmp_name itu bawaan kode php, temporary name..

  15. ardi
    26-02-2013, 12:57:02

    blognya bagus sekali mas agus, tetap dikembangkan dengan ilmu2x baru yah mas!

  16. lia
    14-03-2013, 11:55:42

    mas agus . mau nanya dong, kalo pengen update data di excel kita upload lagi d database ikut ke update tpi ga boleh ng update nim pie mas?

  17. Agus Saputra
    14-03-2013, 23:39:04

    lia @ ya nim nya jangan ditulis diskrip donk.. UPDATE nya jangan masukkan nim.. coba lihat skripnya..

  18. lia
    18-03-2013, 10:54:23

    kak agus makasi update nya uda bsa deng. n mau nanya lagi nih, kalo aku punya 2 table:
    1. table vendor : id_vendor, nama
    2. table barang : id_barang, id_vendor, nama barang, qty

    di excel nya datanya sbb:
    id_barang , nama vendor, nama barang, qty
    A001 , PT Cantika, Sunsilk, 1 doz

    nah saat upload excel di table barang itu ke uploadnya

    A001, 1, Sunsilk, 1 doz

    pie yaa ?

  19. iponk
    02-04-2013, 22:48:28

    maaf mas nanya, kalo integrasi database caranya gmana ya?
    kan ada 2 Database di server yang beda, ketika database A berubah maka database B ikut berubah..

  20. ivan
    27-05-2013, 09:46:36

    Notice: Undefined offset: 0 in C:\xampp\htdocs\xxx\excel_reader2.php on line 390

  21. aditya sandy
    20-08-2013, 10:22:40

    mas agus, saya aditya. .
    kemarin saya abis download coding+file dari blognya mas agus tentang "Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat."

    waktu saya coba, data di file excel-nya berhasil masuk ke database.
    tpi di browser saya kok ada message seperti ini :

    Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\import\excel_reader2.php on line 916
    Berhasil

    itu maksudnya apa mas agus ? ? mhon bantuannya ? ?

  22. azis
    16-08-2014, 08:14:36

    klo di dump bisa keluam Gan, tp klo di query ga masuk ke DB apa ada yang salah

  23. Agus Saputra
    18-08-2014, 16:43:13

    azis @ maksudnya apakah kasusnya sama dengan sdr aditya sandy diatas? mengenai depreciated?.. itu ada skrip php pada excel_reader yang ternyata sudah tidak digunakan di PHP terbaru..

    Coba ganti function split() dengan explode() pada baris ke 844 dan 79. Sedangkan untuk baris 916 silakan ganti operator “=&” dengan “=”.

  24. iwan setiawan
    22-08-2014, 10:04:49

    terimakasih atas informasinya. sangat bermanfaat

  25. Agus Saputra
    23-08-2014, 09:17:45

    iwan setiawan @ sama2 mas..

  26. victor
    01-09-2014, 03:14:49

    mas agus, request fungsi barcode reader pada buku selanjutnya.. jadi ndak hanya fungsi CRUD saja...thanks

  27. Agus Saputra
    01-09-2014, 07:00:32

    victor @ sebenarnya untuk barcode reader, tidak ada skrip khusus mas, untuk membaca barcode.. cukup laser, dan otomatis kode akan terscan dan otomatis enter.. Pembahasan ini mudah2an akan terbit dalam 3-4 bulan dengan aplikasi bertajuk Point of Sales Web Base bernilai puluhan juta rupiah dan sudah teruji di beberapa perusahaan.. :)

  28. jevry
    12-09-2014, 14:14:05

    mas, bisa gak program pencarian php ke database exel.

  29. faizal
    04-11-2014, 03:00:37

    mas mau tanya, kenapa kok punya saya gagal import ya? padahal udah berhasil kebaca trus kalo querynya di tampilin udah kebuat query nya
    tapi setelah cek database belum ada recordnya

  30. Agus Saputra
    04-11-2014, 14:28:31

    faizal @ mungkin ada kode di excelnya depreciated mas.. mungkin mas menggunakan server terbaru? ini postingan tahun 2012.. :) saya akan update untuk yang terbarunya .. mungkin bisa menggunakan PHPExcel untuk class excelnya

  31. yura
    28-08-2016, 05:03:07

    thx mas.. sangat membantu.

  32. nasib
    09-03-2017, 08:23:07

    mas gimana caranya impor database yang ada di localhost ke rtf berdasarkan database yang dipilih,jadi saya cetak berdasarkan database yang dipilih.gmn solusi codenya y mas

  33. AGUS SAPUTRA
    14-03-2017, 00:50:39

    nasib @ Mas, jika menggunakan mysqli (improved), bisa menggunakan koneksi:

    $hostName = "localhost";
    $username = "root";
    $password = "";
    $dbName = "dbname1";
    $dbName2 = "dbname2";

    $connect1 = mysqli_connect($hostName,$username,$password,$dbName);
    $connect2 = mysqli_connect($hostName,$username,$password,$dbName2);

    // jika ingin menggunakan database 1
    $query = mysqli_query($connect1, "kueri sql");

    // jika ingin menggunakan database 2
    $query = mysqli_query($connect2, "kueri sql");

  34. novan pradana
    23-03-2017, 08:43:52

    mas kok data yang saya upload tidak masuk ke data base ya?
    didalam data base kosong.

  35. AGUS SAPUTRA
    23-03-2017, 14:24:24

    Novan Pradana @ btw mas menggunakan server terbaru atau lama?.. jika server baru, kemungkinan mysql_query tidak berjalan, karena mysql_query sudah dianggap depreciated (tidak digunakan lagi) di server baru .. coba gunakan mysqli_query (improved), mysql_num_rows, gunakan mysqli_num_rows, mysql_connect/mysql_select_db, gunakan mysqli_connect ..

  36. Gunawan
    12-08-2017, 19:27:56

    kenapa eror disini ya mas?

    Notice: Undefined index: userfile in C:\xampp\htdocs\bpkb\proses_import.php on line 10

    Notice: Undefined offset: 0 in C:\xampp\htdocs\bpkb\excel_reader2.php on line 390
    Berhasil

Tinggalkan Komentar


Lihat Semua

Buku Terbaruku

Mega Proyek Exclusive 50 Juta: PHP, MySQLi dan Bootstrap
Mega Proyek Exclusive 50 Juta: PHP, MySQLi dan Bootstrap

Like Our Page

Agus Saputra
CV. ASFA Solution
251 Today
2 Online
978.940 Total Pengunjung

Terpopuler Saat Ini

  • Artikel Terpopuler
  • Buku Terpopuler
(36.260)

Sebab Gammu Error 1053

(30.381)

Membuat Laporan PDF PHP Berdasarkan Kondisi

(27.140)

Mengubah +62 menjadi 0 dan 0 menjadi +62 - SMS

(17.701)

Membuat Statistika Pengunjung Secara Dinamis

(14.962)

Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat

(13.479)

Step By Step Membangun Aplikasi SMS dengan PHP dan MySQL

(12.785)

Upload Gambar Menggunakan Ajax (jQuery)

(8.872)

Modul Mahasiswa Buku Mega Proyek 125 Juta Sistem Informasi Akademik Kampus

(8.548)

PHP Menampilkan Gambar secara Multihorizontal

(7.412)

Operasi CRUD Codeigniter - Menampilkan Data

(11.731)

Membuat Aplikasi Absensi Dan Kuesioner Untuk Panduan Skripsi
by Agus Saputra

(10.454)

Trik Dahsyat Menjadi Web Master Dengan Framework CakePHP
by Agus Saputra

(9.783)

Aplikasi Penjualan Dan Pembelian Terintegrasi Dengan VB 6.0. Dan Data Report
by Agus Saputra, Sofyan Maulana, & Sutikno Sofjan

(9.327)

Teknik Cepat Membangun Aplikasi Web Dengan Framework CakePHP
by Agus Saputra

(9.111)

Mega Proyek 125 Juta Sistem Informasi Akademik Kampus
by Agus Saputra

(8.771)

Membangun Aplikasi Toko Online Dengan PHP Dan SQL Server
by Agus Saputra

(8.498)

Step By Step Membangun Aplikasi SMS Dengan PHP Dan MySQL
by Agus Saputra

(8.359)

Sistem Informasi Nilai Akademik Untuk Panduan Skripsi
by Agus Saputra

(8.109)

Membangun Aplikasi E-Library Untuk Panduan Skripsi
by Agus Saputra, Ridho Taufiq Subagio, & Saluky

(7.961)

Membangun Aplikasi Toko Online Dengan PHP Dan SQL Server Edisi Revisi
by Agus Saputra

Newsletter

Masukkan email Anda untuk berlangganan informasi kami

Komentar Artikel Terakhir

  • عادل جويلي pada
    Bagaimana Membuat Facebook Login di Versi Terbaru Facebook SDK 5.5
    24 April 2018 04:25:45
  • عادل جويلي pada
    Bagaimana Membuat Facebook Login di Versi Terbaru Facebook SDK 5.5
    24 April 2018 04:22:02
  • RaichSix pada
    Mengirim Email Lampiran di PHP (File Attachment)
    22 April 2018 21:24:17
  • AGUS SAPUTRA pada
    Step By Step Membangun Aplikasi SMS dengan PHP dan MySQL
    17 April 2018 01:30:12
  • Dina pada
    Step By Step Membangun Aplikasi SMS dengan PHP dan MySQL
    11 April 2018 16:01:53

Komentar Buku Terakhir

  • AGUS SAPUTRA pada
    PHP Gila! Trik Dahsyat Menjadi Master PHP
    10 April 2018 15:57:22
  • Kurnia pada
    PHP Gila! Trik Dahsyat Menjadi Master PHP
    09 April 2018 13:52:05
  • Febri pada
    PHP Gila! Trik Dahsyat Menjadi Master PHP
    09 April 2018 10:01:52
  • ahmad paiz pada
    Aplikasi Penerimaan Siswa Baru Online dengan PHP, PDO dan Bootstrap
    08 April 2018 16:51:03
  • Dina pada
    Step By Step Membangun Aplikasi SMS Dengan PHP Dan MySQL
    05 April 2018 23:33:16
  • Home
  • Cara Pembelian
  • Kontak
© 2018. All Rights Reserved. CV. ASFA Solution, Software Development, IT and Publishing
×
Authorization
Login
Login menggunakan jejaring sosial
Anda juga masuk menggunakan akun facebook Anda.
  • Connect
×
JOIN AGUSSAPUTRA.COM
* All fields required