Skip to main content

Load and Insert XML data into MySQL with PHP simplexml function

Studi Kasus : Mengambil data dari XML dan menyimpannya ke dalam database (mysql)
Kebutuhan : Webserver Packages, already installed.
OKAY, no need for trivial chit-chat. Let’s just practice :D
Step 1 : Persiapkan Database


  1. Buat database dengan nama db_tutorial

  2. Siapkan tabel dengan nama tb_dataxml, dengan struktur tabel seperti gambar dibawah ini.

  3. Done!



Step 2 : Persiapkan Folder Kerja


  1. Buat folder dengan nama tutorphp dalam document root anda

  2. Simpan semua file dalam tutorial ini dalam folder tersebut.



Step 3 : Membuat script koneksi ke DB


  1. Ketikkan script berikut,







    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $host = "localhost";
    $user = "root"; //adjust according to your mysql setting
    $pass = ""; //adjust according to your mysql setting
    $dbName = "db_tutorial";
    mysql_connect($host, $user, $pass);
    mysql_select_db($dbName)
    or die ("Connect Failed !! : ".mysql_error());
    ?>



  2. simpan dengan nama connect.php



Step 4 : Menyiapkan data XML


  1. Ketikkan script berikut,







    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="iso-8859-1"?>
    <data>
    <record>
    <title>Time to Go</title>
    <author>June Sushan</author>
    <publisher>Gramedia Inc</publisher>
    <date>
    <month>June</month>
    <year>1989</year>
    </date>
    </record>

    <record>
    <title>Time to Come</title>
    <author>Alan Smart</author>
    <publisher>Elexmedia Inc</publisher>
    <date>
    <month>April</month>
    <year>1989</year>
    </date>
    </record>

    </data>



  2. simpan dengan nama record.xml



Step 5 : Membuat script untuk me-load XML, menyimpan ke database, dan menampilkan XML



  1. Ketikkan script berikut,







    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    include 'connect.php';
    if( !$xml = simplexml_load_file('record.xml') ) //using simplexml_load_file function to load xml file
    {
    echo 'load XML failed ! ';
    }
    else
    {
    echo '<h1>This is the Data</h1>';
    foreach( $xml as $record ) //parse the xml file into object
    {
    $title = $record->title; //get the childnode title
    $author = $record->author; //get the child node author
    $publisher = $record->publisher; //get the child node publisher
    $month = $record->date->month; //get the child node month
    $year = $record->date->year; //get the child node year

    echo 'Title : '.$title.'<br />';
    echo 'Author : '.$author.'<br />';
    echo 'Publisher : '.$publisher.'<br />';
    echo 'Month : '.$month.'<br />';
    echo 'Year : '.$year.'<br />';
    echo '<br>';

    //save to database
    $q = "INSERT INTO tb_dataxml VALUES('','$title','$author','$publisher','$month $year')";
    $result = mysql_query($q);
    }
    if ($result) {
    echo '<h2>Success Save to Database </h2>';
    }
    else echo '<h2>Failed Save to Databaase</h2>';
    }
    ?>



  2. simpan dengan nama loadxml.php



Step 6 : Testing Code


  1. Pergi ke http://localhost/tutorphp/loadxml.php. Anda akan melihat data dari record.xml telah diparsing dan ditampilkan seperti gambar dibawah :D

  2. Cek database anda, pastikan bahwa data dari XML telah tersimpan dalam tabel yang telah anda siapkan pada step 1



So, this is time to trivial chit-chat Ha Ha :D XML adalah extensible Markup Language.
Why XML? XML adalah format data standar (yang telah disepakati) yang digunakan dalam pertukaran data. Karena ke-global-an XML itulah, XML sering digunakan dalam komunikasi data karena formatnya yang platform independent :D
SISINDOTEK - I.T Training & Solution Provider
Jl. Sukasenang VI - 6 B Cikutra Bandung
Jawa Barat 40124
Tel. 022-71242266, 0812.8733.1966
Email : info@sisindotek.com , YM. sisindotek
www.sisindotek.com , facebook.com/sisindotek , twitter.com/sisindotek

Comments

Popular posts from this blog

mybabycute.com , Caterpillar 3D Jibbitz Rp 17.500

Caterpillar 3D Jibbitz Rp 17.500 Iklan Jual - AKSESORIS , Jawa Barat Toko : www.mybabycute.com/akudanmama Spesifikasi Sifat Penawaran Harga Sesuai harga pasaran Jumlah yang dijual 1 Kondisi Layak Guna 100% Baru/ Second Baru Ketersediaan Kemasan/ Dus Ada Ketersediaan Garansi Tidak Ada Original Original Harga Pasaran 22500 , Jual menjadi Rp 17.500 Keterangan lainnya New Product ! Keterangan : Caterpillar 3D Jibbitz adalah pin untuk dekorasi sepatu Crocs. Terdiri dari 1 buah bagian, dengan 2 kancing, bentuk 3 dimensi. Tinggi 1,5 cm, Panjang 4 cm. Bahan : Rubberized Plastic Harga : Rp 22.500,- ==>SALE Rp 17.500,- Penjual : Aku dan Mama Telepon : 0856 211 0000 / 022 91211166 Email : info@akudanmama.com Kontak Detail Nama Kontak akudanmama.com No Kontak Telepon / HP 0856 211 0000 / 022 91211166 Lokasi kontak Jawa Barat, Bandung

Getafe Vs Valencia

Pertandingan sepak bola antara Getafe dan Valencia selalu dinanti oleh para penggemar sepak bola di seluruh dunia. Kedua tim ini telah menunjukkan kualitas mereka dalam beberapa musim terakhir, dan pertandingan antara keduanya selalu penuh dengan drama dan kegembiraan. Getafe dan Valencia adalah dua tim yang cukup berbeda. Getafe, tim yang berbasis di pinggiran kota Madrid, telah menjadi tim reguler di La Liga selama beberapa musim terakhir. Mereka terkenal karena pertahanan yang kuat dan kemampuan untuk memanfaatkan peluang dari serangan balik. Valencia, di sisi lain, adalah salah satu tim terbesar di Spanyol dengan sejarah yang kaya. Mereka terkenal karena sepak bola menyerang dan sering menunjukkan performa yang impresif di Liga Champions. Pertandingan antara Getafe dan Valencia selalu berlangsung dengan intensitas yang tinggi. Kedua tim selalu berusaha untuk memenangkan pertandingan dan memberikan penampilan terbaik mereka. Pertandingan ini sering berlangsung dengan tempo yang cepa...

Pemerintah Gandeng Sri Mulyani untuk Tingkatkan Investasi di Bidang Infrastruktur

Pemerintah Indonesia di bawah kepemimpinan Presiden Joko Widodo telah lama menempatkan pembangunan infrastruktur sebagai prioritas utama dalam agenda pembangunan nasional. Dalam upaya meningkatkan kualitas dan aksesibilitas infrastruktur di seluruh negeri, Menteri Keuangan Sri Mulyani baru-baru ini mengumumkan rencana untuk mengalokasikan dana sebesar 176 triliun rupiah untuk sejumlah proyek infrastruktur di Indonesia. Dana yang dialokasikan tersebut akan digunakan untuk membiayai berbagai proyek strategis yang mencakup jalan tol, bandara, pelabuhan, kereta api, bendungan, dan infrastruktur digital. Dana tersebut akan disalurkan dalam bentuk pembiayaan investasi dan pembiayaan non-anggaran. Menurut Menteri Keuangan, tujuan utama dari alokasi dana sebesar 176 triliun rupiah ini adalah untuk mendukung pertumbuhan ekonomi dan meningkatkan daya saing Indonesia. Dalam pidatonya, Sri Mulyani menyatakan bahwa infrastruktur yang baik merupakan salah satu faktor kunci dalam ...