InilahData, - Untuk men-generate file XML dari database MySQL, sebelumnya kita akan membuat sebuah databasenya, misalnya "anggota" dan tabelnya "member" dengan dua field yaitu "id" dan "nama". Untuk membuatnya, aktifkan Xampp, lalu bukalah phpmyadmin di browser dengan alamat http://localhost/phpmyadmin/, kemudian isikan pada bagian Create new database: anggota, lalu klik tombol Create. Lihat gambar di bawah ini : Membuat database "anggota" melalui phpMyadmin Kemudian klik pada tab SQL, lalu pada bagian Run SQL Query, tuliskan query untuk membuat tabel "member" dan isi datanya 2 record. Adapun isi query-nya : CREATE TABEL `member`( `id` tinyint(4) unsigned NOT NULL auto_increment PRIMARY KEY, `nama` varchar(200) collate utf8_unicode_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO `member` (`nama`) VALUES (`Ahmad Asyhadi`), (`Joko Prihatin`); Untuk jelasnya, silahkan lihat gambar di bawah ini : Query untuk membuat tabel member beserta datanya Selanjutnya, kita buatkan skrip php untuk menghasilkan file xml, kita namakan "anggota.php". Dan file ini disimpan ke dalam folder htdocs di xampp Anda. Skrip anggota.php <?php //koneksi database mysql $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $dbname = "anggota"; mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); //query ambil data member $sql = "SELECT * FROM member"; $q = mysql_query($sql) or die(mysql_error()); //buat elemen root $xml = "<memberlist>"; //Ambil data dari database dan diletakkan ke dalam elemen root while($r = mysql_fetch_array($q)){ $xml .= "<member>"; $xml .= "<id>".$r['id']."</id>"; $xml .= "<nama>".$r['nama']."</nama>"; $xml .= "</member>"; } $xml .= "</memberlist>"; //instansiasi objek SimpleXMLElement $sxe = new SimpleXMLElement($xml); $sxe->asXML("member.xml"); ?> Apabila skrip anggota.php dijalankan, maka akan menghasilkan file "member.xml" yang struktur dokumen XML-nya dapat dilihat pada gambar di bawah ini : Hasil skrip anggota.php membentuk file member.xml Setelah menulis artikel membuat dan parsing JSON dengan menggunakan PHP dan MySQL serta membuat file csv serta bagaimana cara mem-parsing-nya dengan PHP dan MySQL. Pada kesempatan ini saya akan menulis artikel mengenai pembuatan dan parsing dokumen XML, juga dengan menggunakan PHP dan MySQL. XML (eXtensible Markup Language) adalah format umum yang digunakan untuk membuat bahasa markup baru. XML mendefinisikan seperangkat aturan untuk dokumen yang dikodekan secara elektronik. Bahasa markup digunakan untuk memisahkan konten dari struktur dokumen elektronik dengan jelas. Keuntungan XML :
Kekurangan XML :
MEMBUAT DOKUMEN XML DENGAN PHP DAN MYSQL Karena tutorial ini merupakan kelanjutan dari tutorial sebelumnya, maka database dan table yang digunakan adalah sama. Membuat database baru yaitu : db_belajar. Kemudian buat table dengan perintah SQL: CREATE TABLE IF NOT EXISTS `tb_anggota` ( `anggota_id` int(5) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `alamat` varchar(50) NOT NULL, `umur` int(2) NOT NULL, PRIMARY KEY (`anggota_id`) ) ENGINE=INNODB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; Kemudian, masukkan beberapa record : INSERT INTO `tb_anggota` (`nama`, `email`, `alamat`, `umur`) VALUES ('Wayan', '[email protected]', 'Badung', 21), ('Made', '[email protected]', 'Gianyar', 19), ('Nyoman', '[email protected]', 'Klungkung', 30), ('Ketut', '[email protected]', 'Tabanan', 23), ('Gede', '[email protected]', 'Karangasem', 27); Buat file create_xml.php untuk, men-generate dokumen xml dari record yang ada di table tb_anggota. '); //menampilkan data dari database, table tb_anggota $sql = "select * from tb_anggota"; $result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection)); //membuat array while ($row = mysqli_fetch_assoc($result)) { $track = $xml->addChild('anggota'); $track->addChild('nama', $row['nama']); $track->addChild('email', $row['email']); $track->addChild('alamat', $row['alamat']); $track->addChild('umur', $row['umur']); } print($xml->asXML()); //tutup koneksi ke database mysqli_close($connection); ?> PARSING DOKUMEN XML DENGAN PHP DAN MENYIMPANNYA DI DATABASE MYSQL Misalnya kita memiliki dokumen XML dengan nama dataanggota.xml, seperti di bawah ini : <?xml version="1.0"?> <xml> <anggota> <nama>Toni</nama> <email>[email protected]</email> <alamat>Bandung</alamat> <umur>35</umur> </anggota> <anggota> <nama>Asep</nama> <email>[email protected]</email> <alamat>Bandung</alamat> <umur>18</umur> </anggota> <anggota> <nama>Ucok</nama> <email>[email protected]</email> <alamat>Medan</alamat> <umur>23</umur> </anggota> </xml> Buat file parsing_xml.php untuk memparsing data pada dokumen xml tersebut sekaligus menyimpan datanya ke dalam database. '; foreach ($file as $key => $value) { echo $i . " Coba buka table tb_anggota untuk memastikan data sudah disimpan dengan benar. Anda bisa mencoba tag bersarang pada dokumen XML, karena tutorial ini masih sederhana 🙂 |