Tutorial PHP - Import Data dari Excel ke Database MySQL dengan PHP


Setelah sebelumnya saya membahas bagaimana melakukan Export data dari tabel database, kurang pas rasanya jika belum membahas bagaimana membuat proses Import data dari file excel ke tabel database karena dalam membangun aplikasi kita tidak akan pernah lepas dari data dan database.

Cara ini dapat kita terapkan pada data yang berjumlah ribuan atau mungkin lebih sebab siapa yang sanggup menginputkan data sebanyak itu. meskipun ada mungkin hal itu akan memakan waktu yang cukup lama. Itulah sebabnya dibangun aplikasi untuk memudahkan pekerjaan kita.

1. Pertama, dalam ujicoba ini saya memiliki sebuah tabel (masih kosong) dalam database saya dengan struktur sebagai berikut

Import Data dari Excel ke Database MySQL dengan PHP

2. Kedua, Lakukan koneksi ke database. Berikut contoh script yang saya gunakan.
<?php 
mysql_connect("localhost","root","root");
mysql_select_db("biodata");
?>
3. Ketiga, Download Class PHP Excel Reader yang sudah saya persiapkan untuk anda disini. Extrack lalu letakan foldernya didalam direktori folder projek anda.

4. Keempat, Buatlah sebuah file excel dengan exstensi .xls dengan jumlah shell sesuai dengan field database. berikut adalah contoh yang saya gunakan

Import Data dari Excel ke Database MySQL dengan PHP

5. Berikutnya adalah membuat sebuah file PHP yang berisi script form html (1 Input dengan type file dan 1 Input dengan type submit) dengan contoh sebagai berikut.
<html>
<head>
 <title>Import Excel</title>
</head>
 
 <body>
 <form method="post" action="import.php" enctype="multipart/form-data">
 Pilih File <input type="file" name="datague"/>
 <br/><input type="submit" name="import" value="Import"/>
 </form>
 </body>
</html>
6. Langkah Terakhir adalah membuat script yang akan menjadi aksi dari form jika button submit ditekan pada file (step 5). Simpan dengan nama import.php. Ini Codingnya sebagai berikut
<?php
include "koneksi.php";
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');

// Ambil Value Dari Inputan Form
$fileexcel = $_FILES['datague']['name'];
$data->read($fileexcel);
 
for ($x=2; $x <= count($data->sheets[0]["cells"]); $x++) {
    // Mendefinisikan Shell dalam File Excel Sejumlah Field yang ada di tabel
    $nama = $data->sheets[0]["cells"][$x][1];
 $jeniskelamin = $data->sheets[0]["cells"][$x][2];
    $agama = $data->sheets[0]["cells"][$x][3];
 $alamat = $data->sheets[0]["cells"][$x][4];
 // Simpan Ke Tabel
    $simpan = mysql_query("INSERT INTO data (nama,jenis_kelamin,agama,alamat) VALUES ('$nama','$jeniskelamin','$agama','$alamat')");
 if (!$simpan){
 echo "Data Ke ".$x." GAGAL disimpan!";
 }
}
echo "<script>alert('Data Berhasil di Import!'); history.go(-1);</script>";
?>
Hasil yang saya peroleh adalah sebagai berikut. Sekedar info, Error Seperti The filename is not readable kemungkinan banyak terjadi disebabkan jenis file excel yang berbeda-beda. Jadi usahakan anda membuat file excel sendiri.

Import Data dari Excel ke Database MySQL dengan PHP

Tutorial PHP - Export Data dari Database MySQL ke Excel dengan PHP


Membangun Aplikasi Website dengan Server side scripting seperti PHP kita akan banyak bekerja dengan database bahkan bisa dikatakan tidak akan pernah lepas dari database. sebab siapa yang sanggup mengelola website static dimana untuk merubah konten kita harus merubah coding. Dengan database memungkinkan kita membuat aplikasi website yang dinamis.

Berbicara tentang website dinamis tentu saja hal itu erat kaitannya dengan kemudahan yang ditawarkan seperti merubah tampilan tak perlu lagi mengedit kode template website tersebut selain itu data-data pada website dinamis akan tersimpan didatabase. Berangkat dari hal itu, disini saya akan berbagi trik bagaimana mengeksport data dari tabel database menjadi file excel.

1. Pertama-tama saya asumsikan anda sudah memiliki sebuah tabel dan beberapa data dalam database anda

Export Data dari Database MySQL ke Excel dengan PHP

2. Lakukan koneksi ke Database dengan contoh script dibawah ini sesuaikanlah dengan milik anda. simpan dengan dengan nama koneksi.php
<?php 
mysql_connect("localhost","root","root");
mysql_select_db("biodata");
?>
3. Langkah berikutnya adalah membuat sebuah halaman yang berisi sebuah form dan button dimana aksinya akan melakukan export data.
<html>
<head>
 <title>Export Excel</title>
</head>
 
 <body>
 <a href="export.php"><input type="button" value="Export/Download"/></a>
 </body>

</html>
4. Tahap terakhir yang paling penting adalah membuat sebuah file yang akan melakukan proses export data. Script yang saya gunakan adalah sebagai berikut. simpan dengan nama export.php simpan didalam folder projek anda.
<?PHP
  // Original PHP code by Chirp Internet: www.chirp.com.au
  // Please acknowledge use of this code by including this header.
  include "koneksi.php";
  function cleanData(&amp;$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
  }

  // Nama Hasil Export
  $filename = "hasil_export_" . date('dmY') . ".xls";

  header("Content-Disposition: attachment; filename=\"$filename\"");
  header("Content-Type: application/vnd.ms-excel");

  $flag = false;
  $result = mysql_query("SELECT * FROM data ORDER BY id") or die('Query failed!');
  while(false !== ($row = mysql_fetch_assoc($result))) {
   if(!$flag) {
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
    array_walk($row, 'cleanData');
    echo implode("\t", array_values($row)) . "\r\n";
  }
  exit;
?>
Hasil yang saya peroleh dapat anda lihat pada gambar file excel berikut ini. Bisa dilihat bahwa datanya sama dengan gambar screenshoot data di mysql pada gambar diatas.

Export Data dari Database MySQL ke Excel dengan PHP

Tutorial PHP - Script Menghitung Grade dengan PHP


Sebenarnya dalam bahasa pemrograman apapun kita dituntut untuk pandai-pandai menggunakan logika Sebab itulah inti dari bahasa pemrograman itu. Jika ini maka itu, jika itu maka ini (penyeleksian kondisi).

Berikut saya sharing sebuah program PHP sederhana yang bisa digunakan untuk menghitung Grade nilai berdasarkan nilai yang diinputkan kedalam form dengan implementasi sebuah penyeleksian kondisi. Cara kerjanya sederhana yaitu dengan melakukan penyeleksian kondisi pada nilai inputan form tersebut. Dengan PHP kita bisa melakukan penyeleksian kondisi menggunakan if dan switch. Format penulisan dengan if adalah sebagai berikut 
if ($kondisi) {
// Aksi
} 
Sedangkan jika menggunakan switch penulisan scriptnya adalah sebagai berikut
switch($nilai){
case "Kondisi_1" : //Aksi; 
break;
case "Kondisi_2" : //Aksi; 
break;
} else {
// Aksi
}
adapun contoh script program menghitung grade dengan PHP yang saya gunakan adalah sebagai berikut
<title>Hitung Grade dengan PHP</title>
<form name="grade" method="post">
<input type="text" name="txtnilai">
<input type="submit" name="hitung" value="Konversi">
</form>

<?php 

if (isset($_POST['hitung'])){
$nilai = $_POST['txtnilai'];
if ($nilai >= 90 ){ $grade='A';} else
if ($nilai > 80 ){ $grade='B+';} else
if ($nilai > 70 ){ $grade='B';} else
if ($nilai > 61 ){ $grade='C+';} else
if ($nilai > 50 ){ $grade='C';} else
if ($nilai > 30 ){ $grade='D';} else
if ($nilai > 0 ){ $grade='E';}

echo "Grade = $grade";

}
?>