PHP : Encode dan Decode Format JSON Data - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

PHP : Encode dan Decode Format JSON Data

9 komentar
Yak, kembali lagi. Setelah kita belajar tentang apa itu JSON dan bagaimana membuat dan mengolahnya (baca Bacaan Wajib Programmer : Mengenal Data JSON Lebih Dekat). Kini kita akan membuat dan mengolah JSON dengan bahasa pemrograman web, yaitu PHP. Untuk PHP, kita tidak perlu lagi menambahkan modul atau plugin karena PHP sudah mendukung format JSON yaitu menggunakan fungsi json_encode() dan json_decode(). JSON pada php mudah, tidak sesulit pada pemrogramalan lainnya sebab memang dasar php mudah. Akan tetapi mudah yang saya maksud bisa relatif. :)

Untuk logikanya tidak terlalu berbeda dengan JSON yang telah kita pelajari sebelumnya (baca Encode dan Decode JSON Data dengan Java). Jadi, penggunaan di PHP lebih simple dan lebih sederhana. Berikut dibawah ini script yang bisa saya sajikan. Untuk database, masih sama dengan artikel sebelumya.

<?php
// koneksi ke database
$c  = mysql_connect("localhost", "root", "");
$db = mysql_selectdb("bukubase", $c);

// jika tidak bisa terkoneksi ke database, hentikan proses.
if(!$db){
    echo "Purcase DB! :p";
    exit();
}

// MEMBUAT DATA DENGAN FORMAT JSON

// buat inisialisasi variabel dengan tipe data array yang masih kosong
// ambil data dari tabel daftar_buku di database
// kemudian masukkan data-data tersebut ke variabel $datas;
$datas = array();
$get = mysql_query("select * from daftar_buku order by buku_kode");
while($data = mysql_fetch_array($get)){
    $datas[] = $data;
}

//konversi data array tadi menjadi "semuah string" dengan format json.
$json_format = json_encode($datas);

echo $json_format;
echo "<br/>";

// MENGOLAH DATA BERFORMAT JSON
// true untuk menjadikannya array
$json_data = json_decode($json_format,true);

for($i=0; $i<count($json_data); $i++){
    echo $json_data[$i]['buku_kode']."<br/>";
    echo $json_data[$i]['buku_judul']."<br/>";
    echo $json_data[$i]['buku_penerbit']."<br/>";
    echo $json_data[$i]['buku_tahun']."<br/>";
    echo "<br/>";
}

echo "<br/>";
foreach ($json_data as $thedata->buku_kode) {
    foreach ($thedata as $value) {
        echo $value['buku_kode']."<br/>";
        echo $value['buku_judul']."<br/>";
        echo $value['buku_penerbit']."<br/>";
        echo $value['buku_tahun']."<br/>";
        echo "<br/>";
    }
}

?>

Outputnya:
[{"0":"1","buku_kode":"1","1":"Wordpress Advanced","buku_judul":"Wordpress Advanced","2":"Neomedia","buku_penerbit":"Neomedia","3":"2001","buku_tahun":"2001"},{"0":"2","buku_kode":"2","1":"PHP For Evil Genius","buku_judul":"PHP For Evil Genius","2":"Socka Inc.","buku_penerbit":"Socka Inc.","3":"1999","buku_tahun":"1999"},{"0":"3","buku_kode":"3","1":"Linux Kernel For Breakfast","buku_judul":"Linux Kernel For Breakfast","2":"Socka Inc.","buku_penerbit":"Socka Inc.","3":"2009","buku_tahun":"2009"},{"0":"4","buku_kode":"4","1":"Play With Perl Undercover for Evil genius","buku_judul":"Play With Perl Undercover for Evil genius","2":"Socka Inc.","buku_penerbit":"Socka Inc.","3":"2009","buku_tahun":"2009"},{"0":"5","buku_kode":"5","1":"Android Cook Book For Mother","buku_judul":"Android Cook Book For Mother","2":"Dopler Crook","buku_penerbit":"Dopler Crook","3":"2008","buku_tahun":"2008"}]
1
Wordpress Advanced
Neomedia
2001

2
PHP For Evil Genius
Socka Inc.
1999

3
Linux Kernel For Breakfast
Socka Inc.
2009

4
Play With Perl Undercover for Evil genius
Socka Inc.
2009

5
Android Cook Book For Mother
Dopler Crook
2008

1
Wordpress Advanced
Neomedia
2001

2
PHP For Evil Genius
Socka Inc.
1999

3
Linux Kernel For Breakfast
Socka Inc.
2009

4
Play With Perl Undercover for Evil genius
Socka Inc.
2009

5
Android Cook Book For Mother
Dopler Crook
2008

Semoga bermanfaat. Jika ada yang keliru, atau ada yang mau bertanya,, silakan isi di bagian komentar.. :)

Written by ElangSakti
PHP : Encode dan Decode Format JSON Data
Bahasan: Yak, kembali lagi. Setelah kita belajar tentang apa itu JSON dan bagaimana membuat dan mengolahnya (baca Bacaan Wajib Programmer : Mengena...
Published at Minggu, 10 Maret 2013, Updated at Minggu, 10 Maret 2013
Reviewed by dr. on
Rating: 4.7

9 komentar :

  1. sy udah coba ini mas tapi error dibagian COUNTnya....

    BalasHapus
    Balasan
    1. error seperti apa mas? databasenya sudah dibuat kah?

      Hapus
  2. echo $value['buku_kode']."
    ";
    saya coba cara mas yang langsung echo, tp tdk bisa error Undefined index katanya, sy g coba yg count dlu soalnya ada pesan errornya jg, sy coba yang for dlu ternayta g bisa jalan
    foreach ($final_res as $data->cpu)
    {
    foreach($data as $value)
    {

    echo $value['no'];
    echo $value['no_fixed_asset'];
    echo $value ['cpu'];
    }
    }
    database uda lengkap mas, trus sy uda buat sebuah file.php yang khusus untk encode database dari data mysql, setelah hasil endoce berhasil saya coba encode dgn cara mas tp g bisa, bisa lait screenshot tampilan nya codingnya gak?? mohon bantuannya ni mas, soalnya sy jg ada tgs soal ini, makasihh mass

    BalasHapus
    Balasan
    1. coba jalankan perintah SQLnya "select * from daftar_buku order by buku_kode" langsung di mysql (phpmyadmin atau sqlyog atau di command sql), ada hasilnya kah?

      Hapus
  3. oh iya uda jalan mas hehe karna sy lupa order by nya...,makasihhh to jer deh :)
    kalau g pake order by trus sy ilangin ->CPU di ($final_res as $data->cpu) bisa gak??
    sy juga sempat coba cara ini mau jalan sihh tp g looping dia cm ambil data dari row awal sesuai dengan angka yg tertera pada echo $hasil[0]
    echo $hasil[0]['no_fixed_asset']; echo "
    ";
    echo $hasil[0]['computer_name'];echo "
    ";
    echo $hasil[0]['user'];echo "
    ";

    oh iya mas sy mau nanya apakah JSON mengenali format tanggal dan integer?? atau smua dianggap string smua?? misal sy mau count data berupa date pada JSON apa bisa??

    BalasHapus
    Balasan
    1. siip..

      bisa ndak pake order.

      soalnya datanya kan array, sesuai hasil dari mysql_fetch_array(). Coba pahami format data arraynya dengan cara print_r($final_res); . Mungkin datanya akan muncul semburat, tapi jangan panik, copy saja ke editor teks, tata rapi sesuai arraynya, lalu pahami posisi arraynya.

      semua dianggap string. Kalo count itu kan untuk mengetahui jumlah data dalam array (bukan menjumlah isi data), jadi bisa.

      ---
      untuk pertanyaan yang di bawah:
      itu yang pada lokasi file baris ke berapa mas?

      Hapus
  4. oh iya mas sy lupa, data muncul tapi pada bagian atas ada tulisan errornya Strict Standards: Creating default object from empty value in (lokasi file)

    BalasHapus
    Balasan
    1. itu boleh lihat scriptnya? kemungkinan ada yang keliru..

      Hapus
  5. terima kasih mas hari, ini membantu saya mengerjakan tugas

    BalasHapus