• Terbaru

    Upload File (belum menggunakan Ajax .prefent)

    Jika membuat input bisa menggunakan ajax agar form/halaman web tidak me-reload / refresh halamnya
    nah tapi ini belum bisa digunakan untuk upload
    dari stackoverflow pernah ketemu dengan enctype="multipart/form-data" , tapi belum berhasil,

    Maka diakalin dengan cara :
    form di panggil dari dalam iframe, nah iframe ini dipasangkan di popup modal bootstrap, sperti dibawah ini, ini tombol untuk popup.



    nah dibawah ini gambar popup yang di dalamnya ada iframe nya


    dengan trik ini maka halaman yang akan di reload setelah upload hanya yang ada di dalam iframe, halaman parent asli tidak ikut ter refresh.

    misal form nya seperti dibawah :

    <form action="notifikasi-upload-pelita-proses.php" enctype="multipart/form-data" name='form-import' method="post" id='form-upload-pelita'>
        <table class='table'>
            <tr>
                <td>Upload Data Pelita</td>
                <td><input type="file" name='upload_pm_pelita' class='form-control file-upload'></td>
                <td><input type="submit" name="simpan_import" class='btn btn-info form-control upload-pm-pelita' value='Upload Pelita'></td>
            </tr>
        </table>
    </form>


    nah file proses nya seperti dibawah :

    <?php
    //notifikasi-upload-pelita-proses.php
    include_once "../../base/koneksi.php";
    require("../../spreadsheet-reader-master/php-excel-reader/excel_reader2.php");
    require("../../spreadsheet-reader-master/SpreadsheetReader.php");

    $array = explode('.'$_FILES['upload_pm_pelita']['name']);
    $extension = end($array);

    if(!empty($_POST["simpan_import"])){    
    echo "<script>$('.loading').fadeIn(100);</script>";
    if($extension=="csv"){
        //jika csv
        // possible CSV file
            // could also check for file content at this point
            $fileName = $_FILES["upload_pm_pelita"]["tmp_name"];
            //upload data excel kedalam folder uploads
            $target_dir = "../uploads/".basename($_FILES['upload_pm_pelita']['name']);
            move_uploaded_file($_FILES['upload_pm_pelita']['tmp_name'],$target_dir);
            $Reader = new SpreadsheetReader($target_dir);
            foreach ($Reader as $Key => $Row)
                {
                // import data excel mulai baris ke-2 (karena ada header pada baris 1)
                if ($Key < 1continue;   
                $query=sqlsrv_query($konek,"SYNTAX UPDATE KE DATABASE");
                if(!$query){
                    if( ($errors = sqlsrv_errors() ) != null) {
                        foreach$errors as $error ) {
                            echo "SQLSTATE: ".$error'SQLSTATE']."<br />";
                            echo "code: ".$error'code']."<br />";
                            echo "message: ".$error'message']."<br />";
                        }
                    }
                }else{
                    echo "<script>datatersimpan();</script>";               
                }
            }//foreach
            echo "<script>$('.loading').fadeOut(100);</script>";
            echo "Data Berhasil Di Update<hr/><br><a href='notifikasi-upload-pelita-uploadform.php'>Kembali ke Upload</a>";
        //jika csv
    }else{
        //jika bukan csv
        echo "<script>$('.loading').fadeOut(100);</script>";
        echo "File yang di Upload harus ber extensi .CSV<hr/>";
        echo "<a href='notifikasi-upload-pelita-uploadform.php'>Kembali ke Upload</a>";
        //jika bukan csv
    }
        
    }// if isset
    ?>
    .

    extensi yang wajib ada

    require("../../spreadsheet-reader-master/php-excel-reader/excel_reader2.php");
    require("../../spreadsheet-reader-master/SpreadsheetReader.php");

    .

    Solusi lain :
    menggunakan Ajax :
    jadi upload di baca dengan jquery xlsx
    kemudian tiap cel di excel dibaca dengan jquery terus di masukkan ke dalam "input type='hidden'"
    nah kemudian baru deh input itu di proses dengan button submit

    No comments

    Saya sangat berterimakasih apabila sahabat sekalian bersedia untuk tidak meninggalkan spam dan meninggalkan komentar yang berhubungan dengan artikel di atas.