Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Import Excel ke Database

Insert pertama data excell dn table database sama
Insert kedua data diexcell dn colum database tdk sama jmh colum, tp yg mau import ke database data tertentu yg dibutuhkan, sy cb seperti dibawah tdk sukse, mohon bantuannya atau langkah untuk memahami caranya bs dibantu, atau ada buku panduan yg bs bantu cpt faham, terima kasih

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

if (isset($_POST['submit'])) {//Script akan berjalan jika di tekan tombol submit..
/* 1. cara untuk sukses import adalah Klo mau sukses ganti pengaturan diwindowsnya bahasa indonesaia semua
2. Lalu simpan filenya dg format csv 2. buka filenya dg notepad lalu lihat tanda pemisahnya jika pakek ; atau yang lain tinggal ganti koma(,) di notepadenya, bila sudah tingga upload */

//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, 10000, ",")) !== FALSE) {
$import="insert into target(id,tahun,kodecabang,kodeTarget,namatarget,target01,target02,target03,target04,target05,target06,target07,target08,target09,target10,target11,target12)values(NULL,'$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]')"; //data array sesuaikan dengan jumlah kolom pada CSV anda mulai dari “0” bukan “1”

mysql_query($import) or die(mysql_error()); //Melakukan Import

if($import){
$import1="insert into target_copy(id,tahun,kodecabang,kodeTarget,namatarget,target01,target02,target03,target04,target05,target06,target07,target12,pensil,buku,)values(NULL,'$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[16]','pensil','buku')"; // sedangkan data diexcel columnya seperti ini(id,tahun,kodecabang,kodeTarget,namatarget,target01,target02,target03,target04,target05,target06,target07,target08,target09,target10,target11,target12)//
mysql_query($import1) or die(mysql_error()); //Melakukan Import ke 2
}

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><br><br><br>


Pertanyaan kedua
2.
Maaf lagi. Sy itu cari copas dr google trus ada yg tdk faham dg maksud dr fopen dn fgetcsv dlm koding ini $handle=fopen dn $data= fgetcsv yg menjadi bingung kok ditambahi f dn maksud dr get ditambah csv, mohon pencerahannya

Comments

  • edited March 30
    struktur table :
    - target
    - target_copy
    posting kemari


    fopen : http://php.net/manual/en/function.fopen.php
    fclose : http://php.net/manual/en/function.fclose.php
    fgetcsv : http://php.net/manual/en/function.fgetcsv.php

    itu fungsi bawaan php, namanya emang itu
    dan itu link manualnya, lengkap

    penjelasannya ada
    parameter / opsi nya ada
    contohnya ada

    asal mau baca
  • Terima kasih banyak, jazakalloh smg panjang umur dn rizqinya dilancarkan
  • edited March 31
    Maaf, satu file excel berisi banyak data sesuai kebutuhan 2 table, tpi yg mau dikirim ke 2 table data tertentu dr satu file tersebut, karena yg dibutuhkan table satunya sebagian table yg kedua jg sebagian, seperti file excel yg kami upload

    Table pertama 1. target saya buat seperti ini gan
    CREATE TABLE IF NOT EXISTS `target` (
    `Id` bigint(20) NOT NULL AUTO_INCREMENT,
    `Tahun` int(11) DEFAULT '0',
    `KodeCabang` varchar(5) DEFAULT NULL,
    `KodeTarget` varchar(5) DEFAULT NULL,
    `NamaTarget` varchar(50) DEFAULT NULL,
    `Target01` decimal(16,2) DEFAULT '0.00',
    `Target02` decimal(16,2) DEFAULT '0.00',
    `Target03` decimal(16,2) DEFAULT '0.00',
    `Target04` decimal(16,2) DEFAULT '0.00',
    `Target05` decimal(16,2) DEFAULT '0.00',
    `Target06` decimal(16,2) DEFAULT '0.00',
    `Target07` decimal(16,2) DEFAULT '0.00',
    `Target12` decimal(16,2) DEFAULT '0.00',
    `pensil` decimal(16,2) DEFAULT '0.00',
    `buku` decimal(16,2) DEFAULT '0.00',
    PRIMARY KEY (`Id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    Table kedua 2. target_copy
    CREAT TABLE IF NOT EXISTS `target` (
    `Id` bigint(20) NOT NULL AUTO_INCREMENT,
    `Tahun` int(11) DEFAULT '0',
    `KodeCabang` varchar(5) DEFAULT NULL,
    `KodeTarget` varchar(5) DEFAULT NULL,
    `NamaTarget` varchar(50) DEFAULT NULL,
    `Target01` decimal(16,2) DEFAULT '0.00',
    `Target02` decimal(16,2) DEFAULT '0.00',
    `Target03` decimal(16,2) DEFAULT '0.00',
    `Target04` decimal(16,2) DEFAULT '0.00',
    `Target05` decimal(16,2) DEFAULT '0.00',
    `Target06` decimal(16,2) DEFAULT '0.00',
    `Target07` decimal(16,2) DEFAULT '0.00',
    `Target08` decimal(16,2) DEFAULT '0.00',
    `Target09` decimal(16,2) DEFAULT '0.00',
    `Target12` decimal(16,2) DEFAULT '0.00',
    PRIMARY KEY (`Id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  • baik terima kasih banyak sarannya, sy akan perbaiki dan banyak belajar dari mas, dan sy harap mas tidak bosan untuk negur dan membimbing sy,
Sign In or Register to comment.