Sebelum memulai source, buatlah terlebih dahulu database (MySQL 5), yang terdiri dari 2 tabel (Wilayah dan Negara).
Pada tabel Wilayah [view table] id_wilayah merupakan PK. Pada tabel Negara [view table] id_negara merupakan PK.
Ada 5 file penting dalam membuat list menu dengan PHP dan JSON:
1. index.php (file utama/main program)
2. json.php (file untuk mengambil data dari database dan mengubah dalam bentuk JSON)
3. jquery.js (file terdapat library JQuery/JavaScript)
4. koneksi.php (file untuk melakukan koneksi database)
5. json.sql (file dump SQL)
Kelima file diatas bisa di download : disini .(password ZIP: janxiz)
Source index.php:
<html> <head> <title>List JQuery</title> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("select#wilayah").change(function(){ // Post string var post_string = "id_wilayah=" + $(this).val(); // Mengirimkan permintaan dari pilihan id=wilayah $.ajax({ type: "POST", data: post_string, dataType: "json", cache: false, url: 'json.php', timeout: 2000, error: function() { alert("Failed to submit"); }, success: function(data) { // Bersihkan isi option id=negara $("select#negara option").remove(); // Mengisikan data option id=negara $.each(data, function(i, j){ var row = "<option value=\"" + j.id_negara + "\">" + j.nama_negara + "</option>"; $(row).appendTo("select#negara"); }); } }); }); }); </script> </head> <body> <select name="wilayah" id="wilayah"> <?php include "koneksi.php"; $result = mysql_query("SELECT * FROM wilayah", $link_id); echo "<option value=''>-- Pilih Wilayah --</option> \n"; while($baris=mysql_fetch_array($result)) { echo "<option value='$baris[id_wilayah]'>$baris[nama_wilayah]</option> \n"; } ?> </select> <select name="negara" id="negara"> <option value="">-- Nama Negara --</option> </select> </body> </html>
Source json.php:
<?php include "koneksi.php"; $json = array(); $id=$_POST['id_wilayah']; $result = mysql_query("SELECT * FROM negara WHERE id_wilayah='$id'", $link_id); if($id==''){ $json[] = array( 'id_negara' => '', 'nama_negara' => '-- Nama Negara --' ); } while($baris=mysql_fetch_array($result)) { $json[] = array( 'id_negara' => $baris['id_negara'], 'nama_negara' => $baris['nama_negara'] ); } echo json_encode($json); ?>
Hasil program diatas, jika memilih salah satu Wilayah, maka pada menu SELECT Negara akan muncul negara-negara sesuai dengan Wilayah yang dipilih. Data Negara langsung diambil dari database melalui JSON dengan metode POST (lihat baris 13 pada file index.php).
Reference:
http://www.xul.fr/ajax-javascript-json.html
http://www.electrictoolbox.com/json-data-jquery-php-mysql/
http://api.jquery.com/jQuery.getJSON/
3 komentar:
Akhirnya bisa juga, setelah berjam-jam nyoba, makasih atas tutornya gan.....
ditunggu yang lain.......
mantaf bos.thanks
Thank bos info nya keren banget LOVE YOU :*
Posting Komentar