Import data CSV ke MySQL digunakan untuk memasukkan data yang banyak ke mysql. Bisa dibayangkan kalo ada data 1000 harus dimasukkan ke MySQL secara satu2, bisa makan waktu banyak juga bikin jari keriting. Dengan metode import ini data yang ada di Excell di simpan dulu dalam bentuk CSV, dan perlu diingat urutan kolom2 di excell harus sama dengan urutan kolom di MySQL.Setelah urutan kolom sama dan file disimpan dalam bentuk CSV sekarang file tersebut bisa diimport ke MySQL. Ada dua cara dalam import file, bisa lewat phpmyadmin ato memakai script PHP. Dalam hal ini saya memakai script PHP untuk import data selain lebih praktis dan aman. Sekarang kita bikin scriptnya, tinggal copy script dibawah ini.
==================================================================
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<form enctype='multipart/form-data' action="<?php echo $PHP_SELF ?>" method='post'>
<font face=arial size=2>Type file name to import:</font><br>
<input type='file' name='filename' size='20'><br>
<input type='submit' name='submit' value='submit'></form>
<?php
if(isset($_POST['submit']))
{
$target_path = "D:/xampp/htdocs/myweb/excell/"; --> ini alamat untuk tempat copy file CSV
$target_path = $target_path . basename( $_FILES['filename']['name']);
if(move_uploaded_file($_FILES['filename']['tmp_name'], $target_path)) {
echo "<font face=arial size=2>The file ". basename( $_FILES['filename']['name']). " berhasil di upload</font><br>";
} else{
echo "<font face=arial size=2>upload data gagal, silahkan ulangi lagi</font><br>";
} --> ini untuk mengupload file CSV ke alamat tadi
// ini script untuk mengimport data CSV ke MySQL
$filename=$target_path;
$handle = fopen("$filename", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$import="INSERT into data values('$data[0]','$data[1]','$data[2]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "<font face=arial size=2>Order data berhasil</font>";
}
else
{
print "";
}
>
?>
</BODY>
</HTML>
==================================================================
simpan file itu dengan nama import.php dan panggil file tersebut
==================================================================
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<form enctype='multipart/form-data' action="<?php echo $PHP_SELF ?>" method='post'>
<font face=arial size=2>Type file name to import:</font><br>
<input type='file' name='filename' size='20'><br>
<input type='submit' name='submit' value='submit'></form>
<?php
if(isset($_POST['submit']))
{
$target_path = "D:/xampp/htdocs/myweb/excell/"; --> ini alamat untuk tempat copy file CSV
$target_path = $target_path . basename( $_FILES['filename']['name']);
if(move_uploaded_file($_FILES['filename']['tmp_name'], $target_path)) {
echo "<font face=arial size=2>The file ". basename( $_FILES['filename']['name']). " berhasil di upload</font><br>";
} else{
echo "<font face=arial size=2>upload data gagal, silahkan ulangi lagi</font><br>";
} --> ini untuk mengupload file CSV ke alamat tadi
// ini script untuk mengimport data CSV ke MySQL
$filename=$target_path;
$handle = fopen("$filename", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$import="INSERT into data values('$data[0]','$data[1]','$data[2]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "<font face=arial size=2>Order data berhasil</font>";
}
else
{
print "";
}
>
?>
</BODY>
</HTML>
==================================================================
simpan file itu dengan nama import.php dan panggil file tersebut
3 komentar:
thx ilmunya... ketika saya coba import file kok ga mau ya? error nya : Column count doesn't match value count at row 1
ketika saya coba import file yang sama melalui Phpmadmin mau. itu gmn ya. mohon bantuannya?
karena file excel anda terdapat header pada baris pertama. script diatas tidak boleh ada header. ;aen dengan phpmyadmin yang ada fasilitas untuk mulai import mulai row keberapa
saya baru belajar nih
cara panggil scrip tadi bagaimana ya?
Posting Komentar