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

salingsapa.com , sekalipun pakai script open source JCOW tapi salut buat de Yahya

Mungkin semua sudah mulai mengenal salingsapa.com , bukan karena isi webnya saja tapi pemiliknya adalah seorang anak SMP yaitu de yahya. Beberapa komentar muncul di internet soal keberadaan web ini, baik yang positif atau negatif. Memang benar bahwa salingsapa.com bukanlah tailormade website, atau website yang dibangun dengan kemampuan skill programming si pemiliknya, salingsapa.com menggunakan script JCOW.com. Tapi kita ambil positifnya, lihatlah dari sisi kecerdasan si anak yang bisa melihat potensi pasar di internet, yang bisa berinisiatif membuat sebuah website yang bisa mendatangkan orang , yang tahu apa yang dibutuhkan publik ? sesuatu yang tidak dimiliki anak - anak SMP kita saat ini yang cenderung hanya menjadi penonton dan user saja Petron yakin dalam 2 -5 tahun lagi de Yahya akan benar benar membuat web social buatannya dia sendiri. Biasakanlah memberi dukungan yang positif kepada generasi dibawah kita untuk hal hal yang mengarah kepada perkembangan yang positif juga. Dan med...

Cara Akses Tol Bandung ke PRJ Kemayoran Jakarta , Jakartafair ? lewat tol ancol ?

Gw kira paman google sudah menyediakan segalanya... mmhhh ternyata belum.khususnya saat gw nyari jalur tol dari bandung menuju PRJ Kemayoran jakarta yang lagi diselenggarakan 2010 ini, mmhhh sepertinya i'm in trouble :) . Ok gini ceritanya balik kejakarta dari bandung ternyata ada tugas mulia menanti, rencananya mertua , adik ipar dan pasukan kecil (anak gw dan ponakan) bakal berangkat main ke jakarta hari sabtu , targetnya ? PRJ and Grand Indonesia, grand indonesia sih gak masalah.. nah PRJ ini yang jadi masalah.. maklum seumur umur cuma denger aja kehebohan PRJ ini tapi nengok kesana gw belum pernah bahkan setelah 1 tahun lebih dijakarta akses menuju kesana saja bener bener gak tau, perasaan sih dulu pernah di tunjukin supir kantor waktu gw mau ke mangga dua, tapi ya ilahhh... mana kepikiran dulu bakal ada tugas ini sekarang... :D gw coba nyari di google.. dengan mengetikan semua yang terkait akses tol dari bandung ke PRJ ini .. hasilnya gak ada,.. mungkin ada petunjuk kecil yang...

TRAINING SQL Server 2017 DATABASE ADMINISTRATOR-BANDUNG

TRAINING SQL Server 2017 DATABASE ADMINISTRATOR By Purnama Academy - Training Center January 18, 2018  No comments SQL Server 2017 DATABASE ADMINISTRATOR Syllabus Class Type           : Training Duration              : 4 Days (09.00 – 17.00) Training Description : Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network Database administrators (DBAs) use specialized software to store and organize data. The role may include capacity planning, installation, configuration, database design, migration, performance monitoring, security, troubleshooting, as well as backup and data recovery Call us for detail syllabus ! ...