Blog Posts » PHP & MySQL » Menyimpan Settingan/Konfigurasi CMS di Satu Field MySQL
Menyimpan Settingan/Konfigurasi CMS di Satu Field MySQL
Inilah Tips/Trik tentang bagaimana Menyimpan Settingan/Konfigurasi CMS di Satu Field MySQL. Jika kita membuat suatu CMS (Content Management System) atau aplikasi web berbasis PHP & MySQL, kadang kita harus menyimpan Pengaturan di Database. Misal seperti post_perpage, comment_perpage, max_chars, dsb. Kita bisa membuat beberapa Field untuk masing-masing pengaturan tersebut, akan tetapi hal itu akan dirasa tidak efisien. Untuk itu diperlukan metode untuk mengumpulkan dan menguraikan kembali semua Data Pengaturan yang disimpan jika kita hanya menggunakan satu Field saja. Teknik ini juga umum digunakan di beberapa CMS Populer seperti WordPress, dll. Yaitu dengan memanfaatkan fungsi serialize() dan unserialize() di PHP. Dibawah ini saya akan mencoba memberi gambaran tentang penerapan dari fungsi-fungsi tersebut.
1. Menyimpan Data Pengaturan
[Textarea][RAW][Download]
- <?php
- // Koneksi Database
- mysql_connect('localhost', 'root', '') or die(mysql_error());
- mysql_select_db('database') or die(mysql_error());
- $data = array(
- 'post_perpage' => 5,
- 'comment_perpage' => 10,
- 'max_chars' => 160,
- 'timezone' => 'Asia/Jakarta'
- );
- $data_pengaturan = serialize($data);
- // Hasil: a:4:{s:13:"post_perpage";i:5;s:16:"comment_perpage";i:10;s:9:"max_chars";i:160;s:9:"timezone";i:"Asia/Jakarta";}
- // Simpan ke Database
- mysql_query("INSERT INTO pengguna ('id', 'nama', 'pengaturan') VALUES(25, 'muhammad', '$data_pengaturan')") or die(mysql_error());
2. Mengambil Data Pengaturan
[Textarea][RAW][Download]
- $query = mysql_query("SELECT * FROM pengguna WHERE id = 25") or die(mysql_error());
- $pengguna = mysql_fetch_array($query);
- $pengaturan = $pengguna['pengaturan'];
- $pengaturan_pengguna = unserialize($pengaturan);
- // Hasil: Array
- // (
- // [post_perpage] => 5
- // [comment_perpage] => 10
- // [max_chars] => 160
- // [timezone] => Asia/Jakarta
- // )
- echo $pengaturan_pengguna['post_perpage']; // 5
- echo $pengaturan_pengguna['comment_perpage']; // 10
- echo $pengaturan_pengguna['max_chars']; // 160
- echo $pengaturan_pengguna['timezone']; // Asia/Jakarta
Semoga bermanfaat
Update: Fungsi mysql sudah ditinggalkan oleh PHP. Silahkan lanjut baca mysqli_connect dan mysqli_query.
(admin)
- Attachments: menyimpan-settingan-konfigurasi-cms-di-satu-field-mysql.zip
- Date created: Sat, 14 Jul 2012 05:39:49 +0700
- Date modified: Thu, 19 Nov 2015 08:40:19 +0700
- Viewed: 56100 times
- Label: PHP & MySQL
- Share: Facebook, Twitter
- Comm.: View (0) · Write