Freelancer's Playground! Learn Programming, The Freelancer's Way

20Feb/0812

Mimic Oracle’s LOV Feature for Web Application Part 2: Add Database Support

On my previous tutorial, you have seen how to create a Lookup Grid. That's just basic, without database support.
In this tutorial, I'll enhance the script with database and search support. What you'll need first is obviously a database server. If you don't have the tutorial file, please download it from my previous tutorial. Next think to do is, create a file which contain database information. Let's call it db_conn.php.

<?php
$conn = mysql_connect('localhost', 'db_username', 'db_password');
mysql_select_db('database_name');
?>

With database information obtained, now we'll move to lov.php file. Open it and include db_conn.php.

include('db_conn.php');

Next, delete all <row></row> xml data. Add this code right after header("Content-Type: text/xml");.

$x = isset($_GET['query']) ? $_GET['query'] : '';
$addSQL = "";
if(!empty($x)){
	$addSQL = "WHERE name LIKE '%".mysql_escape_string($x)."%'";
}
$sql = "SELECT * FROM friends $addSQL";
$rs = mysql_query($sql, $conn);

On place where <row></row> was, add this code:

<?php
	$select = 'selected="1"';
	while(false !== ($r = mysql_fetch_array($rs))){
		echo '
	<row id="'.$r['id'].'" '.$select.'>
      <cell>'.$r['id'].'</cell>
      <cell>'.$r['name'].'</cell>
      <cell>'.$r['city'].'</cell>
      <cell>'.$r['phone'].'</cell>
      <cell>'.$r['email'].'</cell>
    </row>
		';
		$select = "";
	}
?>

Now the XML generator part is ready, now we'll head to HTML part.
Please add this code right before <div id="gridbox" height="100%"></div>

<div id="searchbox">
	Search&nbsp;<input type="text" id="searchText" value="">&nbsp;
	<input type="button" onclick="doLimit(document.getElementById('searchText').value)" value="Search">
</div>

And this javascript function inside HTML HEAD tag.

<script language="javascript" type="text/javascript">
	var mygrid = null;
	function doLimit(txt){
		mygrid.clearAll();
		mygrid.loadXML("lov.php?reqType=getXML&query="+txt);
	}
</script>

That's it, save your lov.php file and run it to test. You can also try in online here
and download the example file here. Any question you might have, you can write in here in comment form below.
I'll try to answer when I have time.

Filed under: Tutorial 12 Comments
15Feb/089

Menghilangkan Kategori Yang Tidak Di Inginkan Dari RSS Feed WordPress

Beberapa minggu ini saya berfikir gimana caranya memberdayakan blog ini. Jadi bukan cuman untuk berkeluh-kesah saja. Tapi juga untuk mendapatkan uang. Yah, minimal untuk bayar biaya server lah. Kalau kalian browsing blog ini tanpa adblock, pasti kalian akan melihat ada iklan adsense dan kumpulblogger. Tapi, saya kurang puas dengan kedua layanan ini. Bukan karena pendapatannya yang kecil, tetapi karena kurang enak dipandang saja. Akhirnya saya mencoba untuk bergabung dengan situs2 paid review.

Beberapa hari belakangan ini saya mendapat tugas untuk mereview. Lumayan 1 review bernilai sekitar $7.5-$10. Tapi belum ada yang saya ambil. Karena saya juga terbentur batasan. Blog ini tidak berdiri sendiri, tetapi ada beberapa agregator yang saya ikuti. Nah, saya tidak ingin aggregator-aggregator yang saya ikuti ini menerima lebih banyak lagi posting-posting tidak bermutu. Sudah cukup mereka saya banjiri dengan curhat-curhat tidak bermutu saya.

Jadi, saya berfikir bagaimana caranya agar aggregator itu tidak menerima content sampah. Tapi saya tetap bisa posting disini. Beruntung, di wordpress ada fasilitas untuk menghilangkan kategori yang tidak di inginkan dari RSS. Jadi, saya tinggal setting posting-posting berbayar itu dengan kategori tertentu yang kemudian saya keluarkan dari RSS. Caranya adalah dengan menggunakan http://example.com/wp-rss2.php?cat=-xx dimana xx adalah id kategori yang ingin di hilangkan. Jadi, mulai sekarang saya bisa ngeblog berbayar tanpa membanjiri agregator yang saya ikuti.

Filed under: Tips N Trick 9 Comments
14Feb/086

What SuperHero Are You?

This morning, I got bored and browsing the web. I found this website that offer fun quiz. Took one called "What SuperHero Are You?" and here I'm, the mighty Super Penguin!!! :D
What SuperHero Are You?

Filed under: Non Technical 6 Comments
13Feb/089

Setahun bersama penguin

Ya, tidak terasa sudah setahun saya hidup bersama penguin. Terhitung sejak akhir tahun 2006 Saya menggunakan full linux tanpa dual-boot dengan windows. Ya, murni linux. Sebenarnya saat itu adalah keputusan yang sangat sulit. Karena basis pendidikan saya saat kuliah adalah windows. Saat semester satu, dikenalkan dengan microsoft office. Semester berikutnya berturut2 Visual Basic 6, Oracle Form, ASP. Well, memang sih ada satu semester yang berhubungan dengan linux, tapi materinya hanya pengenalan perintah2 BASH yang SANGAT tidak menarik dan membosankan. Memangnya untuk apa sih mau baca CD-ROM saja mesti ngetik2 perintah. Kalau di windows kan langsung plug-and-play.

Lantas, kenapa nekat menggunakan linux? Nah, saya ceritakan dulu bagaimana saya berkenalan dengan linux. Jadi, saya bertemu dengan linux sebenarnya secara tidak sengaja. Saat semester satu ada perekrutan anggota UKM. Saya yang saat itu masih tergolong hijau di dunia komputer dan IT (walaupun sudah punya komputer sejak kelas 4 SD) memutuskan untuk bergabung dengan UKM Visual Basic, karena di sylabus, materi2 visual basic lebih banyak dari yang lainnya. Tapi, teman saya Doni meracuni dan mengajak saya bergabung dengan UKM linux. Akhirnya saat itu saya resmi jadi anggota UKM linux.

Di UKM ini kami didik untuk belajar mandiri. Hampir setiap pertanyaan selalu dijawab dengan jawaban standar, silahkan baca manual. Jawaban ini ternyata memacu saya untuk lebih banyak lagi belajar. Saat saya punya komputer sendiri di semester 4, saya menginstall komputer dual-boot dengan SuSE. Saat itu saya juga tertarik untuk belajar bahasa pemrograman PHP dan JAVA yang ternyata didukung oleh pihak UKM dengan disediakannya server dan subdomain khusus untuk belajar dan mendemokan hasil belajar di website kampus. Sejak saat itu saya memperdalam ilmu PHP dan JAVA saya.

Kalau itu tadi pengalaman selama di kampus, pengalaman saya selama di dunia kerja ternyata juga tidak jauh2 dari linux, PHP dan JAVA. Pekerjaan pertama saya membangun Sistem Informasi Akademik berbasis PHP. Di kantor berikutnya, saya bekerja di lingkungan full linux. Komputer kantor semua menggunakan linux, server2 juga dari linux. Solusi2 yang dijual oleh kantor juga menggunakan telnologi open-source. Saat di kantor ini komputer saya di kos rusak. Akhirnya saya beli laptop dan di-install linux dual-boot dengan windows. Karena saya merasa berat meninggalkan windows. Entah mengapa, pokoknya berat saja.

Akhir tahun 2006 saya keluar dari perusahaan karena ada ajakan dari kawan untuk mengerjakan proyek di Jakarta. Sejak saat itulah saya menggunakan linux full tanpa windows. Karena saya merasa tidak lagi membutuhkan windows. Sebab semua pekerjaan saya juga tidak ada yang berhubungan dengan windows. Saya tidak lagi menjadi programmer VB (walau dari awal juga tidak bekerja sebagai programmer VB). Menulis dokumen saya ganti dengan open-office. Saya juga semakin sering mengexplore linux, karena memang hanya linux yang ada :D. Jadi, mau main game, menonton film, edit gambar, dll. Semua menggunakan linux. Kalau saya lagi kangen dengan vb, saya main-main dengan gambas. Jadi, tidak ada masalah dengan linux.

Hayo, bagaimana dengan anda yang masih menggunakan windows? inget, windows lho. Saya gak tanya yang menggunakan Mac ;)).

Filed under: Rant 9 Comments
13Feb/082

Saat-saat paling indah adalah…

Ketika aku taruh telinga ini di dadanya,
mendengarkan detak jantungnya,
dan telinga satunya mendengarkan halus nafasnya

Filed under: Rant 2 Comments
5Feb/083

Geany

What is geany? is it someone from Aladdin movie? Nope, this is not from any movie. Even it's not somebody's name. It's a GTK text editor. To me, it's by far the best text editor I've use. It has many feature, some of which is symbol (function, class, variable, etc) list, embedded terminal emulator, scribble for writing your note (could be used as snippet panel), build tools. You might wanna say that this feature are all available in other editor. But, geany have one good feature that, well, I would say it as hidden feature that not many editor has it. As a developer you might happen to encounter this condition, where you want to know where's this variable or a piece of text used. You just need to write the information in find dialog and find all in documents. The messages panel will show you in which line this variable is used.

I'm use this editor since the time I discover it. Because it's convenient to test my php / shell script directly from the editor with terminal emulator. Just F4 >> test >> F2 >> edit >> F4 >> test >> F2 >> edit >> and so on. Oh, i forgot to mention that this editor has color chooser dialog for you to pick when dealing with html or css. It also has plugin support. Auto-completion support is available too. So, why don't you try it if you haven't,  because it's available in windows version too.

Nothing is 100% perfect. This goes too for geany. I miss a feature that's implemented as plugin on kate, my previous text editor. That's word completion plugin. This plugin work as auto completion but it take a list from text taken from current document. Hope someone implement this plugin for geany soon.

Filed under: Non Technical 3 Comments
2Feb/083

Speed over Everything!

Ya, itu posting dari Andry tentang blogdetik.com. Hahaha, tipikal layanan detik!!!
Karena speed over everyting, jadi upload dulu, content benar itu urusan terakhir. Apa pasal? ternyata halaman Pendaftaran, Fitur, dan Kontak sama persis dengan halaman Sign Up, Features, dan Support dari wordpress.com.

Nih, tak kasih contoh halaman 'Fitur' blogdetik dan 'Features' dari wordpress.com

Screenshoot diambil hari sabtu 2-feb-2008 jam 13:26 Siang.

Filed under: Non Technical 3 Comments