TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Export Data Dari MySQL ke XML dengan PHP


July 22nd, 2009 | by rosihanari | Cetak Artikel Cetak Artikel

Beberapa hari yang lalu, saya telah memposting artikel bagaimana membuat script PHP untuk mengimport data dari XML ke MySQL. Nah… untuk artikel kali ini, saya akan coba bahas kebalikannya yaitu membuat script PHP untuk export data dari MySQL ke XML.

Mau tahu caranya? Simak artikel ini baik-baik ya :-)

Dalam artikel ini, kita akan memanfaatkan data yang telah tersimpan dalam tabel ‘book’ MySQL seperti yang sudah dibahas di artikel import data dari XML ke MySQL. Nah.. tujuan dari script yang akan kita buat ini nanti yaitu mengenerate dokumen XML dari data yang telah tersimpan dalam tabel ‘book’ tersebut.

OK.. bagaimana cara membuat scriptnya? pertama kita buat asumsi terlebih dahulu bahwa dokumen XML yang akan kita hasilkan akan berbentuk seperti ini

<?xml version='1.0'?>
<data>
   <book>
    .
    .
    .
   </book>
   <book>
    .
    .
    .
   </book>
    .
    .
</data>

Nama tag <book>…</book> ini nanti misalkan kita ambil dari nama tabelnya yaitu ‘book’. Sedangkan nama tag properti dari setiap buku, nantinya akan diambil dari nama field-fieldnya. Sehingga diharapkan nantinya struktur dokumen XML nya berbentuk seperti di bawah ini

<?xml version='1.0'?>
<data>
   <book>
      <id>...</id>
      <author>...</author>
      <title>...</title>
      <genre>...</genre>
      <price>...</price>
      <publish_date>...</publish_date>
      <description>...</description>
   </book>
   <book>
     <id>...</id>
      <author>...</author>
      <title>...</title>
      <genre>...</genre>
      <price>...</price>
      <publish_date>...</publish_date>
      <description>...</description>
   </book>
    .
    .
</data>

Nah.. dengan struktur di atas, bagaimana bentuk script PHP nya?

export2xml.php

<?php

mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");

$namaTabel = "book";

header('Content-Type: text/xml');

$query = "SELECT * FROM $namaTabel";
$hasil = mysql_query($query);
$jumField = mysql_num_fields($hasil);

echo "<?xml version='1.0'?>";
echo "<data>";
while ($data = mysql_fetch_array($hasil))
{
   echo "<".$namaTabel.">";
   for ($i=0; $i<=$jumField-1; $i++)
   {
      $namaField = mysql_field_name($hasil, $i);
      echo "<".$namaField.">".$data[$namaField]."</".$namaField.">";
   }
   echo "</".$namaTabel.">";
}
echo "</data>";
?>

Penjelasan:

Perintah header('Content-Type: text/xml'); digunakan untuk memberitahukan ke browser bahwa hasil output script adalah dalam format XML, bukan HTML.

Perintah mysql_num_fields() digunakan untuk menghitung jumlah field yang dihasilkan dari sebuah query SQL. Jumlah field ini nanti akan digunakan untuk looping ketika proses membuat tag properti dari setiap data buku.

Sedangkan perintah mysql_field_name() digunakan untuk membaca nama field pada urutan tertentu sesuai nomor indeksnya.

Perhatikan contoh penggunaan function mysql_field_name() berikut ini

<?php
$query = "SELECT * FROM book";
$hasil = mysql_query($query);

// akan memunculkan nama field pertama dari hasil query (field: ID)
echo mysql_field_name($hasil, 0); 

// akan memunculkan nama field kedua dari hasil query (field: AUTHOR)
echo mysql_field_name($hasil, 1);

// akan memunculkan nama field ketiga dari hasil query (field: TITLE)
echo mysql_field_name($hasil, 2);
?>

Dari contoh tersebut, maka mysql_field_name() dapat kita gunakan untuk mengenerate nama tag properti dari data buku yang kebetulan sama dengan nama fieldnya.

Hasil dari script export2xml.php di atas akan seperti di bawah ini:

Photobucket


Baca Juga Artikel Terkait
Membuat Script PHP untuk Rekap Data dari Data Mentah
Import Data Format XML ke MySQL dengan Script PHP
Mencari Detail Data Duplikasi di MySQL
Script INSERT Data Dengan PHP dan MS. Access
Script PHP untuk Edit Data dengan Komponen RadioButton pada Form



Slot iklan tersedia, pasang iklan di atas


Kata kunci: export mysql - export xml - script php -


Ada 24 komentar dalam artikel ini.



  1. Tri Laniri says:

    tuk admin..bgmn caranya (script) untuk update data xml menggunakan php dan otomatis update d mysql??
    Please tlg bnget ya pncrahanx..ya pling ga ampe update data xml pke php aj jg ga papa..

  2. Tri Laniri says:

    ohya mas, aq lupa ksih contohnya..
    Misal ad data xml dgn isinya :

    Tri Laniri
    Kalimantan

    Bgmn cara update datanya pke php.misal mau d update nama Tri Laniri menjadi Tri Sutanto (nama d inputkan dri interface bukan lgsg dri coding)..maaf banyak nanya..

  3. ade says:

    mas, mo tanya… :
    klo misalkan di dalam query di atas ada 5 row data…
    bagaimana caranya klo agar terbentuk jg 5 file XML, dan setiap file hanya ada 1 row data dr hasil 5 row data tersebut!

    mohon pencerahan…
    THx

  4. agung says:

    om ari,

    untuk rss feed… saya pernah buat.. untuk web saya.. kok suka feed error.. di liat source xml keluar.. kok gk tampil feednya

  5. joko says:

    Asw Pak, mau tanya, waktu di coba kok malah gak jadi format XML ya?

    jadinya malah file php trus keluar hasil dari databasenya saja pak? mhon pencerahannya

  6. dio says:

    halo pak, mau tanya,saya ikuti tutorialnya bisa running di localhost tanpa masalah, tp waktu saya coba upload ke hosting, dengan asumsi configurasi database sudah saya setting ulang, script tersebut tidak jalan.
    apakah ada yang saya lewatkan untuk setting di hosting? mohon bantuannya.
    trims…

  7. asari says:

    saya download galeri flash yang ada xml nya. saya sudah buat pengganti xml tadi biar dinamis dengan php. nah bagaimana cara memanggil file php tadi agar bisa menggantikan file xml nya?

  8. Taufiq says:

    permisi pak ari… klo boleh buat tutor xml donk…

  9. dhemas says:

    Tampilan pembayaran Dollar (export xml)
    Invoice2SS130100021A0006A0006Alfa ComputerMangga dua mall lt.dasar Alfa ComputerMangga dua mall lt.dasar 20130108201301082013010826TKNONEAlfa ComputerMangga dua mall lt.dasar 20130108SS-20130108NO VATARInvoice SS130100021A00060SSSSPGNT SB12SS130100021100005SSSales Service126TKPCS20A00062013010811SSSSNO VATNO VAT202020NO WHTNO WHT

    tampilan kalau pembayaran rupiah
    Invoice2SS130100023K0043K0043KONTAN – SERVICE-KONTAN – SERVICE-20130108201301082013010826TKIDR9760NONEKONTAN – SERVICE-20130108SSDhemas20130108NO VATARInvoice SS130100023K00430SSSSPGANTI SB, IO, Sound12SS130100023100005SSSales Service126TKPCS125000K00432013010811125000125000125000K0043SSSSNO VATNO VAT12.80125000125000NO WHTNO WHT

    bagaimana caranya supaya bisa tampil seperti itu, ada beberapa tabel (tabel customer,tabel invoice,tabel item invoice,tabel tanda terima, dan tabel item tanda terima)

    yang saya kasih contoh di atas itu manual

    untuk di pembayaran rupiah ada perhitungan ke dollar di baris 12.80 rumusnya pembayaran dalam rupiah / rate

    mohon bantuannya terima kasih sebelumnya

    dhemas