Tutorial JSON PHP MySQL

Logo JSON
Logo JSON
Membuat JSON dari PHP tidaklah susah, syaratnya, anda memakai PHP versi 5.2 keatas. Mengapa demikian? karena di PHP versi 5.2 keatas sudah mempunyai fungsi json_encode dan json_encode
json_encode adalah fungsi yang mengubah format data Array menjadi JSON, sedangkan json_decode berfungsi sebaliknya, mengubah JSON menjadi PHP Array.

Struktur tabel

Dalam contoh ini, kita akan membuat format data JSOn dari tabel event.

CREATE TABLE IF NOT EXISTS event (
  eventID int(11) NOT NULL AUTO_INCREMENT,
  judul varchar(50) NOT NULL,
  tanggal date NOT NULL,
  jam varchar(10) NOT NULL,
  lokasi varchar(50) NOT NULL,
  keterangan text NOT NULL,
  PRIMARY KEY (eventID)
) ENGINE=InnoDB  ;

setelah membuat tabel, masukan beberapa data sample kedalamnya.

Berikut ini adalah kode PHP untuk mengambil data dari database dan menampilkan
data dalam format JSON.

<?php

mysql_connect("localhost", "root", "");
mysql_select_db("belajarphp");

$query = "SELECT * from event ";
$result = mysql_query($query) or die(mysql_error());

$arr = array();
while ($row = mysql_fetch_assoc($result)) {
    $temp = array(
	"eventID" => $row["eventID"],
    "judul" => $row["judul"],
    "tanggal" => $row["tanggal"], 
    "jam" => $row["jam"], 
    "lokasi" => $row["lokasi"]);
	
    array_push($arr, $temp);
}

$data = json_encode($arr);

echo "{\"list_event\":" . $data . "}";
?>

hasil dari kode diatas

{"list_event":
	[
		{"eventID":"1",
		"judul":"Pengajian Akbar menyambut ramadhan",
		"tanggal":"2014-05-19",
		"jam":"20:00",
		"lokasi":"Masjid Kampus UGM"
		},
		{ "eventID":"2",
		"judul":"Bedah buku kesesatan syiah",
		"tanggal":"2014-05-21",
		"jam":"09:00",
		"lokasi":"Masjid Kampus UII "
		}
	]
}

What next?

Kalau cuma menampilkan data JSOn di browser, tentunya kurang bemanfaat. Manfaat JSON ini terasa kalau kode ini yang sering disebut dengan webservice, diakses oleh aplikasi lain yang beda device, beda bahasa pemrograman atau beda sistem operasi.

Dalam artikel selanjutnya, saya akan menunjukan bagaimana data JSON di artikel ini diakses oleh android dan ditampilkan di listview.

Author: Candra Adi Putra

Candra Adi Putra adalah Alumni STMIK AKAKOM Yogyakarta. Like Candralab Studio Di Facebook.

11 thoughts on “Tutorial JSON PHP MySQL”

  1. wahh, bermanfaat banget mas. masih newbie, pengen bisa bikin app web dgn json. tolong dong mas klo bisa bikin tutor tentang pembuatan app web untuk USSD , seperti di fonetwish[dot]com

  2. thanks menarik baru belajar json juga. Tapi tampilannya sbb:

    {“list_event”:[{“eventID”:”1″,”judul”:”Pengajian Akbar menyambut ramadhan”,”tanggal”:”2014-05-19″,”jam”:”20:00″,”lokasi”:”Masjid Kampus UGM”},{“eventID”:”2″,”judul”:”Bedah buku kesesatan syiah”,”tanggal”:”2014-05-21″,”jam”:”09:00″,”lokasi”:”Masjid Kampus UII”}]}

    Tampilannya kesamping yah? Tidak kebawah?

    Kalo mau masukkin data teks file dengan json kemudian diimport ke database apakah bisa?

    1. tek kesamping itu ga masalah, kalau mau lihat format yagn benar gunakan JSON viewer di notepad++, masukin tek ke json terus di import ke SQL? buat fungsi sendiri dengan memanfaatkan json_decode/json_encode

  3. bagus dan thanks
    kalau data json spt ini, bagaimana penyelesaian dalam phpnya, mas candra

    {
    “timeline”:
    {
    “headline”:”Belajar”,
    “type”:”default”,
    “startDate”:”2009,1,1″,
    “text”:”Designer & Developer“,
    “asset”:
    {
    “media”:”assets/img/notes.png”,
    “credit”:”php“,
    “caption”:””
    },
    “date”: [
    {
    “startDate”:”2009,2,1″,
    “headline”:”Belajar Json”,
    “text”:”Trik belajar Json dengan mudah.”,
    “asset”:
    {
    “media”:”http://vimeo.com/22439234″,
    “credit”:””,
    “caption”:””
    }
    },

    {
    “startDate”:”2010,12,1″,
    “headline”:”Belajar Php”,
    “text”:”php.”,
    “asset”:
    {
    “media”:”http://www.youtube.com/watch?v=0-9EYFJ4Clo”,
    “credit”:””,
    “caption”:””
    }
    }
    ]
    }
    }

  4. Thanks Mas Candra , mumet nyari php query to json yg simple dapat juga disini , its very useful post for newbie

Tinggalin komentar dong!