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

Gempa mengguncang sukabumi, terasa sampai ke bandung - hari ini 8 jan 2019

Hari ini terjadi gempa dengan skala 5,4 di sukabumi yang goncangannya terasa sampai bandung dan lumayan membuat kepanikan sesaat. Berdasarkan informasi dari Badan Meterologi, Klimatologi dan Geofisika (BMKG), gempa terjadi di lokasi 160 LS, 106.48 BT atau 113 kilometer barat daya kota Sukabumi dan 121 kilometer barat daya Kabupaten Sukabumi, 135 kilometer barat daya Cianjur, 163 kilometer barat data Bandung dan 190 kilometer barat data Jakarta. Quoted by www.purnamaacademy.com

Posting #JualRumah RUMAH 2 LT HARGA TERJANGKAU DI JAKTIM COCOK UTK PASANGAN MUDA | www.Produk.Club | Token:93 [token:593]

Posting iklan terbaru dari Iklan Jual Beli https://www.produk.club/iklanjualbeli di Bandung , #JualRumah RUMAH 2 LT HARGA TERJANGKAU DI JAKTIM COCOK UTK PASANGAN MUDA | www.Produk.Club , dibuka dengan harga penawaran : Rp 1600000000 , Informasi iklan : Jual Rumah baru di pusat kota jakarta , rumah 2 lantai dengan lokasi strategis di wilayah pusat pemerintahan Utan kayu utara, Matraman Jakarta Timur PRICE : 1,6 M (NEGO) CASH ONLY SPESIFIKASI : LB : 170 m2 LT : 115 m2 Rumah 2 lantai KT : 4 KM : 2 Carport : 1 Mobil Listrik : 2200 ruang jemur dan taman kecil di blkg SHM Full renovasi December 2021 KONDISI AMAN 100% dari BANJIR!! Akses 1 Mobil Rumah yang di bangun dng sistem pencahayaan dan sirkulasi udara yg baik keluarga sehat dan kemana2 pun dekat dng pusat kota dan berbagai sarana prasana yg lengkap Kami jual dng harga murah yg mungkin kesempatan ini langkah anda dapatkan hanya 1,6 M ( nego ) silahkan dan survei utk cek lokasi . Untuk i...

Jadwal IT Training 2016 SISINDOTEK Bandung

SISINDOTEK www.sisindotek.com - 0812-8733-1966 Jadwal IT Training di Bandung Mei - Agustus 2016 PRG-01 - Application Programming with VB.NET 4 Hari , Start : 9, 16, 30 Mei , 6, 20 Jun, 18,25 Jul , 8,22 Agt PRJ-01 - Project Management Methodology with Microsoft Project 4 Hari , Start : 9, 16, 30 Mei , 6, 20 Jun, 18,25 Jul , 8,22 Agt ...