Jumat, 27 Desember 2013

Membuat File XML Menggunakan PHP dan MySQL

Pada postingan kali ini akan membahas tentang bagaimana cara membuat file XML dari PHP dengan database MySQL. File XML terbentuk dari sebuah sebuah tabel dengan menggunakan database MySQL.
Keunggulan dari XML yang terbentuk dari terbentuk dari sebuah tabel pada database MySQL, nama data-data pada tabel dapat kita pecah-pecah sesuai keinginan kita.
misalnya database xml dengan tabel masakan :

CREATE TABLE `masakan` (
  `nama` varchar(5),
  `bahan` text,
  `bumbu` text,
  `isi` text,
  `kuah` text,
  `asalmasakan` varchar(30),
  `gambar` varchar(128),
  PRIMARY KEY(`nama`)
)
jika sudah jadi akan terlihat seperti ini :

 Jika database sudah jadi langkah - langkah dalam membuat file XML :

1. Membuat form untuk inputan yang akan di jadikan File XML, berikut kode PHP :
<form action="#" method="POST">
        <table>
            <tr>
                <td>Nama Masakan</td>
                <td><input type="text" name="nama" id="nama"></input></td>
            </tr>
            <tr>
                <td>Bahan</td>
                <td><input type="text" name="bahan" id="bahan"></input></td>
            </tr>
            <tr>
                <td>Bumbu</td>
                <td><input type="text" name="bumbu" id="bumbu"></input></td>
            </tr>
            <tr>
                <td>Isi</td>
                <td><input type="text" name="isi" id="isi"></input></td>
            </tr>
            <tr>
                <td>Kuah</td>
                <td><input type="text" name="kuah" id="kuah"></input></td>
            </tr>
            <tr>
                <td>Asal Masakan</td>
                <td><input type="text" name="asalmasakan" id="asalmasakan"></input></td>
            </tr>
            <tr>
                <td>Cara Membuat</td>
                <td><input type="text" name="caramembuat" id="caramembuat"></input></td>
            </tr>
            <tr>
                <td>Gambar</td>
                <td><input type="text" name="gambar" id="gambar"></input></td>
            </tr>
            <tr>
                <td><a href="formedit.php">Lihat Data</a></td>
                <td><input type="submit" name="submit" id="submit" value="Kirim"></input></td>
            </tr>

        </table>
    </form>
2. Membuat Koneksi Database, berikut kode PHP :

<?php
          mysql_connect("localhost", "root", "root");
          mysql_select_db("sekripsiku");

?>

3. Mengambil data inputan dari Form yang telah kita buat tadi, berikut kode PHP :

<?php
          $nama=isset($_POST["nama"])?$_POST["nama"]:"";
          $bahan=isset($_POST["bahan"])?$_POST["bahan"]:"";
          $bumbu=isset($_POST["bumbu"])?$_POST["bumbu"]:"";
          $isi=isset($_POST["isi"])?$_POST["isi"]:"";
          $kuah=isset($_POST["kuah"])?$_POST["kuah"]:"";
          $asalmasakan=isset($_POST["asalmasakan"])?$_POST["asalmasakan"]:"";
          $caramembuat=isset($_POST["caramembuat"])?$_POST["caramembuat"]:"";               $gambar=isset($_POST["gambar"])?$_POST["gambar"]:"";

 ?>

4. Memasukan data yang kita input ke Database, berikut kode PHP :

<?php
       if ($nama != ''){
            $query = "INSERT INTO masakan(nama, bahan, bumbu, isi, kuah, asalmasakan, caramembuat, gambar)
                    VALUES ('$nama', '$bahan', '$bumbu', '$isi', '$kuah', '$asalmasakan', '$caramembuat', '$gambar')";
            mysql_query($query);
            echo "Data sebelumnya dengan judul <b>$nama</b> telah tersimpan.";
            }
            else
            {
            }

?>

5. Mengambil data yang kita input dari database, berikut kode PHP :

<?php
      $namaTabel = "masakan";
    
            $query = "SELECT * FROM $namaTabel";
            $hasil = mysql_query($query);
            $jumField = mysql_num_fields($hasil);
            $sites = array();
    
            while ($data = mysql_fetch_array($hasil))
            {
                $sites [] = array('nama' => $data['nama'], 'bahan' => $data['bahan'], 'bumbu' => $data['bumbu'],
                'isi' => $data['isi'], 'kuah' => $data['kuah'], 'asalmasakan' => $data['asalmasakan'],
                'caramembuat' => $data['caramembuat'],'gambar' => $data['gambar']);
            }

?>

6. Memecahkan data yang kita ambil dari database, menjadi sebuah Tag XML, berikut kode PHP :

<?php
$document = new DOMDocument();
            $document->formatOutput = true;
    
            $root = $document->createElement( "masakan" );
            $document->appendChild( $root );
    
            foreach( $sites as $masakan )
            {
                $block = $document->createElement( "data" );
    
                $nama = $document->createElement( "nama" );                           
                $nama->appendChild($document->createTextNode( $masakan['nama'] ));
                $block->appendChild( $nama );
    
                $bahan = $document->createElement( "bahan" );
                $bahan->appendChild($document->createTextNode( $masakan['bahan'] ) );
                $block->appendChild( $bahan);
    
                $bumbu = $document->createElement( "bumbu" );
                $bumbu->appendChild( $document->createTextNode( $masakan['bumbu'] ) );
                $block->appendChild( $bumbu );
    
                $isi = $document->createElement( "isi" );
                $isi->appendChild( $document->createTextNode( $masakan['isi'] ) );
                $block->appendChild( $isi );
    
                $kuah = $document->createElement( "kuah" );
                $kuah->appendChild( $document->createTextNode( $masakan['kuah'] ) );
                $block->appendChild( $kuah );
    
                $asalmasakan = $document->createElement( "asalmasakan" );
                $asalmasakan->appendChild( $document->createTextNode( $masakan['asalmasakan'] ) );
                $block->appendChild( $asalmasakan );
    
                $caramembuat = $document->createElement( "caramembuat" );
                $caramembuat->appendChild( $document->createTextNode( $masakan['caramembuat'] ) );
                $block->appendChild( $caramembuat );
               
                $gambar = $document->createElement( "gambar" );
                $gambar->appendChild( $document->createTextNode( $masakan['gambar'] ) );
                $block->appendChild( $gambar );

                $root->appendChild( $block );
                }

?>

7. Langkah terakhir dalam membuat data XML. Membuat data yang kita input menjadi data XML, berikut kode PHP :

<?php
       $document->save("masakan.xml"); 
?>

Dari langkah - langkah diatas kita gabungkan dan membuat sebuah tipe data PHP (inputanXML.php), berikut kode PHP :

<html>
<body>

        <form action="#" method="POST">
        <table>
            <tr>
                <td>Nama Masakan</td>
                <td><input type="text" name="nama" id="nama"></input></td>
            </tr>
            <tr>
                <td>Bahan</td>
                <td><input type="text" name="bahan" id="bahan"></input></td>
            </tr>
            <tr>
                <td>Bumbu</td>
                <td><input type="text" name="bumbu" id="bumbu"></input></td>
            </tr>
            <tr>
                <td>Isi</td>
                <td><input type="text" name="isi" id="isi"></input></td>
            </tr>
            <tr>
                <td>Kuah</td>
                <td><input type="text" name="kuah" id="kuah"></input></td>
            </tr>
            <tr>
                <td>Asal Masakan</td>
                <td><input type="text" name="asalmasakan" id="asalmasakan"></input></td>
            </tr>
            <tr>
                <td>Cara Membuat</td>
                <td><input type="text" name="caramembuat" id="caramembuat"></input></td>
            </tr>
            <tr>
                <td>Gambar</td>
                <td><input type="text" name="gambar" id="gambar"></input></td>
            </tr>
            <tr>
                <td><a href="formedit.php">Lihat Data</a></td>
                <td><input type="submit" name="submit" id="submit" value="Kirim"></input></td>
            </tr>

        </table>
    </form>
       
        <?php
           
            mysql_connect("localhost", "root", "root");
            mysql_select_db("sekripsiku");
              
            $nama=isset($_POST["nama"])?$_POST["nama"]:"";
            $bahan=isset($_POST["bahan"])?$_POST["bahan"]:"";
            $bumbu=isset($_POST["bumbu"])?$_POST["bumbu"]:"";
            $isi=isset($_POST["isi"])?$_POST["isi"]:"";
            $kuah=isset($_POST["kuah"])?$_POST["kuah"]:"";
            $asalmasakan=isset($_POST["asalmasakan"])?$_POST["asalmasakan"]:"";
             $caramembuat=isset($_POST["caramembuat"])?$_POST["caramembuat"]:"";
            $gambar=isset($_POST["gambar"])?$_POST["gambar"]:"";
           
            if ($nama != ''){
            $query = "INSERT INTO masakan(nama, bahan, bumbu, isi, kuah, asalmasakan, caramembuat, gambar)
                    VALUES ('$nama', '$bahan', '$bumbu', '$isi', '$kuah', '$asalmasakan', '$caramembuat', '$gambar')";
            mysql_query($query);
            echo "Data sebelumnya dengan judul <b>$nama</b> telah tersimpan.";
            }
            else
            {
            }
    
            $namaTabel = "masakan";
    
            $query = "SELECT * FROM $namaTabel";
            $hasil = mysql_query($query);
            $jumField = mysql_num_fields($hasil);
            $sites = array();
    
            while ($data = mysql_fetch_array($hasil))
            {
                $sites [] = array('nama' => $data['nama'], 'bahan' => $data['bahan'], 'bumbu' => $data['bumbu'],
                'isi' => $data['isi'], 'kuah' => $data['kuah'], 'asalmasakan' => $data['asalmasakan'],
                'caramembuat' => $data['caramembuat'],'gambar' => $data['gambar']);
            }
    
            $document = new DOMDocument();
            $document->formatOutput = true;
    
            $root = $document->createElement( "masakan" );
            $document->appendChild( $root );
    
            foreach( $sites as $masakan )
            {
                $block = $document->createElement( "data" );
    
                $nama = $document->createElement( "nama" );                           
                $nama->appendChild($document->createTextNode( $masakan['nama'] ));
                $block->appendChild( $nama );
    
                $bahan = $document->createElement( "bahan" );
                $bahan->appendChild($document->createTextNode( $masakan['bahan'] ) );
                $block->appendChild( $bahan);
    
                $bumbu = $document->createElement( "bumbu" );
                $bumbu->appendChild( $document->createTextNode( $masakan['bumbu'] ) );
                $block->appendChild( $bumbu );
    
                $isi = $document->createElement( "isi" );
                $isi->appendChild( $document->createTextNode( $masakan['isi'] ) );
                $block->appendChild( $isi );
    
                $kuah = $document->createElement( "kuah" );
                $kuah->appendChild( $document->createTextNode( $masakan['kuah'] ) );
                $block->appendChild( $kuah );
    
                $asalmasakan = $document->createElement( "asalmasakan" );
                $asalmasakan->appendChild( $document->createTextNode( $masakan['asalmasakan'] ) );
                $block->appendChild( $asalmasakan );
    
                $caramembuat = $document->createElement( "caramembuat" );
                $caramembuat->appendChild( $document->createTextNode( $masakan['caramembuat'] ) );
                $block->appendChild( $caramembuat );
               
                $gambar = $document->createElement( "gambar" );
                $gambar->appendChild( $document->createTextNode( $masakan['gambar'] ) );
                $block->appendChild( $gambar );

                $root->appendChild( $block );
                }
    
                $document->save("masakan.xml");
        ?>


</body>
</html>

Dari tujuh langkah tersebut jika kita jalankan maka akan membuat sebuah file XML (masakan.xml), contoh hasil keluaran :

<?xml version="1.0"?>
<masakan>
  <data>
    <nama>nagasari</nama>
    <bahan>tepung</bahan>
    <bumbu>-</bumbu>
    <isi>-</isi>
    <kuah>-</kuah>
    <asalmasakan>jawa</asalmasakan>
    <caramembuat>-</caramembuat>
    <gambar>nagasari</gambar>
  </data>
  <data>
    <nama>onde</nama>
    <bahan>tepung</bahan>
    <bumbu>-</bumbu>
    <isi>kacang ijo</isi>
    <kuah>-</kuah>
    <asalmasakan>jawa</asalmasakan>
    <caramembuat>-</caramembuat>
    <gambar>onde</gambar>
  </data>
</masakan>


Setelah file XML jadi, kita dapat memanfaatkan untuk koneksi dari berbagai platform yang berbeda.
Oke tutorial dalam membuat file XML sampai disini langkah selanjutnya menampilkan data dari file XML yang telah kita buat yang akan di jelaskan pada postingan selanjutnya.

next->

Semoga bermanfaat,..









Tidak ada komentar:

Posting Komentar