Admin sekolah menyuruh saya untuk membuat aplikasi rekap nilai raport dan data siswa, nah pada tengah-tengah membuat proyek itu tiba” admin SMP pun minta dibikinkan FORM import dari file CSV seperti layaknya SLIMS, dengan alasan “Repot banget kalo harus import nilai raport siswa sebanyak 600 anak secara satu-persatu dari form tiap semester”..

Cara Sederhana Import Data dari Excel (CSV) ke MySQL dengan PHP

Asalamualaikum,

 

Mengapload data secara massal mungkin sangat jarang digunakan untuk keperluan user tapi bagaimana dengan admin?

Ya, admin dengan segudang tugasnya untuk import data sana sini, pasti malas untuk import data satu persatu seperti data peserta didik baru atau nilai raport ke database dari form yang telah kita buat..

Ini adalah pengalaman saya saat saya PKL di SMP beberapa bulan yang lalu.

Admin sekolah menyuruh saya untuk membuat aplikasi rekap nilai raport dan data siswa, nah pada tengah-tengah membuat proyek itu tiba” admin SMP pun minta dibikinkan FORM import dari file CSV seperti layaknya SLIMS, dengan alasan “Repot banget kalo harus import nilai raport siswa sebanyak 600 anak secara satu-persatu dari form tiap semester”..

Yah dari pengalaman itulah saya ingin membagi sedikit ilmu saya ini..

Baik kita mulai tutorial..

Sekarang kita siapkan alat dan bahanya..

  1. Excel atau program sejenisnya
  2. Text Editor
  3. Browser
  4. XAMPP

 

Kita mulai..

Langkah 1

Buka XAMPP..

Jalankan Apache dan Mysql..

Buat sebuah database..

Buat table “tb_data” dengan struktur seperti ini..

tb_data

Atau jalankan code ini di sql..

CREATE TABLE `coba`.`tb_data` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nama` VARCHAR( 50 ) NOT NULL ,
`alamat` TEXT NOT NULL
) ENGINE = MYISAM ;

 

Langkah 2

Buat data yang akan di import di excel..

Sebagai contoh Seperti ini saja..data

lakaukan input data dari call A1, jangan diberi judul.

 

Lalu Save-As dengan nama nama sesuka anda ..

Pilih type file CSV File..

csv

Perhatian, tipe file harus sama seperti ini..

 

Akan muncul pesan, click OK saja..

pesan

 

Langkah 3

Buat folder “coba” di dalam htdoc..

 

Langkah 4

Buka text editor anda..

Lalu pastekan code berikut, untuk fungsi dari barisan code sudah ada di komentar codenya..

<html>
<head>
<title>Upload page</title>
</head>
<body>
<?php
//KONEKSI.. 
$host='localhost';
$username='root';
$password='';
$database='coba';
mysql_connect($host,$username,$password);
mysql_select_db($database);

if (isset($_POST['submit'])) {//Script akan berjalan jika di tekan tombol submit..

//Script Upload File..
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        echo "<h1>" . "File ". $_FILES['filename']['name'] ." Berhasil di Upload" . "</h1>";
        echo "<h2>Menampilkan Hasil Upload:</h2>";
        readfile($_FILES['filename']['tmp_name']);
    }

    //Import uploaded file to Database, Letakan dibawah sini..
    $handle = fopen($_FILES['filename']['tmp_name'], "r"); //Membuka file dan membacanya
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $import="INSERT into tb_data (id,nama,alamat) values(NULL,'$data[0]','$data[1]')"; //data array sesuaikan dengan jumlah kolom pada CSV anda mulai dari “0” bukan “1”
        mysql_query($import) or die(mysql_error()); //Melakukan Import
    }

    fclose($handle); //Menutup CSV file
    echo "<br><strong>Import data selesai.</strong>";
   
}else { //Jika belum menekan tombol submit, form dibawah akan muncul.. ?>

<!-- Form Untuk Upload File CSV-->
   Silahkan masukan file csv yang ingin diupload<br /> 
   <form enctype='multipart/form-data' action='' method='post'>
    Cari CSV File anda:<br />
	<input type='file' name='filename' size='100'>
   <input type='submit' name='submit' value='Upload'></form>

<?php } mysql_close(); //Menutup koneksi SQL?>
</body>
</html>


Jangan lupa, Atur KONEKSInya..

Lalu save di folder coba yang tadi telah kita buat tadi..

 

Langkah 5

Buka browser dan dan masuk ke halaman yang kita buat tadi..

Contoh..

 jalan

 Lalu cari file CSV yang sudah kita buat di awal tadi..

Dan click “Upload”

Hasilnya..

 Suksess

Selesai..

Silahkan Kembangkan sesuai dengan kebutuhan anda.

Semuga tutorial ini bermanfaat, untuk mendapat update tutorial dari saya silahkan masuk ke profil saya dan click “Follow”..

Terimakasih

Original Post By Arinadi Nur Rohmad

 


About Author

Arinadi Nur Rohmad

Code_Start(); Barisan Kata Untuk Aksi Nyata. Code_get_SUCCESS(); :) Sekolah di SMK YAPPI Wonosari, Yogyakarta. Jurusan RPL..


Comment & Discussions

  • rubi (Guest)
    @yogi : coba bantu mas.. itu csv nya coba yg DOS bukan yg machintos.. intinya coba diganti csv nya

  • riswan (Guest)
    saya kok error ya

    Notice: Undefined index: nama in C:\xampp1\htdocs\member\input.php on line 18

    Notice: Undefined index: nama in C:\xampp1\htdocs\member\input.php on line 25

    Warning: fopen(): Filename cannot be empty in C:\xampp1\htdocs\member\input.php on line 25

    Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\xampp1\htdocs\member\input.php on line 26
    Column count doesn't match value count at row 1


    Bisa Bantu ??

  • Rizky Ariss
    sukses ketika di upload tetapi ketika menampilkan hasi lupload tidak rapih malah seperti txt bukan excel itu gimana ya solusinya ?

  • hermawan
    hi..data hasil upload tidak semua masuk di kolom pada database cuma 1 kolom yg terisi mohon pencerahannya

  • Nezar Refqi Nurifta
    cara updatenya gmna? file sama tpi ada data tertentu yg berbeda

  • Please LOGIN before if you want to give the comment.