<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dudu.WEB.ID &#187; Jquery</title>
	<atom:link href="http://dudu.web.id/category/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://dudu.web.id</link>
	<description>...still try and try...</description>
	<lastBuildDate>Fri, 03 Feb 2012 16:07:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Set Specific row style in jqgrid</title>
		<link>http://dudu.web.id/2012/01/set-specific-row-style-in-jqgrid/</link>
		<comments>http://dudu.web.id/2012/01/set-specific-row-style-in-jqgrid/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 09:14:20 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[each]]></category>
		<category><![CDATA[jqgrid]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=483</guid>
		<description><![CDATA[Mengatur style untuk baris pada jqgrid (Bahasa Indonesianya gitu..) Permasalahan ini saya temui ketika akan membuat tabel dengan Jqgrid, kemudian ada pengelompokan baris tertentu. Misalnya ketika pada field &#8220;Status&#8221; ternyata masih kosong, maka baris tersebut akan berwarna merah (tugas dari temen sih sebenernya ). Kalo misal table yang dibuat bukan dari plugin JQgrid mungkin tidak [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2012/01/jqgrid1.png"><img class="alignnone size-full wp-image-486" title="jqgrid1" src="http://dudu.web.id/wp-content/uploads/2012/01/jqgrid1.png" alt="" width="514" height="206" /></a></p>
<p>Mengatur style untuk baris pada jqgrid (Bahasa Indonesianya gitu..)</p>
<p>Permasalahan ini saya temui ketika akan membuat tabel dengan Jqgrid, kemudian ada pengelompokan baris tertentu. Misalnya ketika pada field &#8220;Status&#8221; ternyata masih kosong, maka baris tersebut akan berwarna merah (tugas dari <a title="Fitri Wibowo" href="http://blog.bowo.co.cc/" target="_blank">temen </a>sih sebenernya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). Kalo misal table yang dibuat bukan dari plugin JQgrid mungkin tidak terlalu ribet, apalagi dokumentasi JQgrid sangat minim menurut saya.Dan juga desain table yang saya gunakan tidak setandar!!! hah, gimana ini..</p>
<p>Setelah browsing dan disambi <a title="Twitter" href="http://twitter.com/dwijonarko" target="_blank">twitteran</a>, serta <a title="Google Plus" href="http://gplus.to/dwijonarko" target="_blank">google plus</a>-an (halah) dan tidak lupa <a title="Kaskus" href="http://kaskus.us" target="_blank">ngaskus</a>..akhirnya nemu inspirasi juga..<span id="more-483"></span></p>
<p>Beberapa cara yang sempat terpikirkan :</p>
<ul>
<li>Looping setiap halaman dan cari valuenya : ternyata ga bisa karena ngakses rownya dari ID, dan ID nya ga sama dengan nomor record nya (ini )</li>
<li>Looping sampe row terakhir : ini juga ga bisa, apalagi dtanya sampe 4000, berat loadnya..</li>
<li>Menggunakan looping pake jquery.each(), cari ID row kemudian cocokan valuenya</li>
</ul>
<p>Ternyata cara yang terakhir yang paling cocok dan bisa di aplikasikan dalam kasus yang saya alami. Script yang saya gunakan seperti ini</p>
<pre class="brush: jscript; title: ; notranslate">

loadComplete: function() {
 $('.jqgrow').each(function(index,value){//looping semua baris jqgrid
 var idRow = $(this).attr(&quot;id&quot;);//cari idRow nya
 var data = jQuery('#list1').jqGrid ('getCell', idRow, 'colomname'); //cari value dari cell &quot;collomname&quot;
 if(data!=&quot;Aktif&quot;){ //cocokan dengan syaratnya
 grid.jqGrid('setRowData',idRow,&quot;false&quot;,'ui-state-error'); //set style untuk baris tersebut
 }
 });
 },
</pre>
<p>Hasilnya kira-kira seperti gambar pada artikel ini&#8230; semoga membantu..</p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2012/01/set-specific-row-style-in-jqgrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perlukah memakai framework ?</title>
		<link>http://dudu.web.id/2011/12/perlukah-memakai-framework/</link>
		<comments>http://dudu.web.id/2011/12/perlukah-memakai-framework/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 13:03:48 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[perlu framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=479</guid>
		<description><![CDATA[hmmm sudah beberapa bulan ini saya ga pernah lagi nulis tutorial tentang coding, apalagi khusus tentang Codeigniter. Ada banyak ide yang ingin saya tuliskan, tetapi rasa-rasanya waktunya belum nemu. Ah apalagi tutorial yang membahas Codeigniter sudah banyak bertebaran di internet, baik itu hasil karya sendiri maupun copas dari web lain, atau bermodalkan google translate Framework [...]]]></description>
			<content:encoded><![CDATA[<p>hmmm sudah beberapa bulan ini saya ga pernah lagi nulis tutorial tentang coding, apalagi khusus tentang<a href="http://dudu.web.id/tag/codeigniter/"> Codeigniter</a>. Ada banyak ide yang ingin saya tuliskan, tetapi rasa-rasanya waktunya belum nemu. Ah apalagi tutorial yang membahas Codeigniter sudah banyak bertebaran di internet, baik itu hasil karya sendiri maupun copas dari web lain, atau bermodalkan google translate <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Framework oh framework, suatu hal yang lagi booming sekarang ini, buka milis pasti ada yang nanya framework, buka forum juga.. Dan yang paling sering ditanyakan adalah &#8220;<strong><a href="http://dudu.web.id/2011/12/perlukah-memakai-framework/">perlu ga sih kita pake framework??</a></strong>&#8221; Ketika saya melihat pertanyaan itu, yang terbesit dalam pikiran saya adalah, yang dimaksud dalam pertanyaan tersebut &#8220;framework itu sendiri&#8221; dan &#8220;framework yang mana&#8221;</p>
<p><span id="more-479"></span></p>
<p>Kembali ke pengertian framework itu sendiri, yang sering saya temukan adalah &#8221; kerangka sebuah aplikasi (baik itu web, desktop, dll) yang berisi kumpulan library, class, function dan lainnya yang sekiranya umum dan sering digunakan dalam pembuatan aplikasi tersebut yang bertujuan untuk mempermudah pengembangan aplikasi yang menggunakan kerangka program tersebut.</p>
<p>Nah kalau melihat definisi tersebut, jawaban dari &#8220;<a title="Perlukah memakai framework ?" href="http://dudu.web.id/2011/12/perlukah-memakai-framework/">perlukah memakai framework </a>?&#8221; adalah <strong>perlu</strong>. Setiap aplikasi yang siap pakai (bukan setengah aplikasi) pasti terdiri dari ratusan bahkan ribuan baris kode (<a href="http://en.wikipedia.org/wiki/Source_lines_of_code">LOC</a>). Apabila kode-kode atau syntax tersebut tidak kita organisir dengan baik, pastinya akan membuat program kita akan menjadoi <em>over bloated</em> dan banyak mengandung <em><a href="http://en.wikipedia.org/wiki/Spaghetti_code">spaghetti code</a></em>. Tetapi apabila kita mengorganisasi dengan baik, kita buat fungsi dan class yang benar sesuai tugasnya masing-masing, diharapkan kode yang kita buat akan menjadi lebih mudah dibaca, dipahami dan digunakan kembali dikemudian hari.</p>
<p>Ada mungkin diantara kita berpendapat &#8220;lebih puas coding dari awal&#8221;. Kalo seperti itu yang saya tanyakan &#8220;dari awal yang mana?&#8221; buat file satu persatu, class demi class, function demi function sehingga menjadi sebuah aplikasi jadi. Kalau suatu waktu ada proyek membangun program yang hampir mirip, apakah harus melakukan hal seperti itu lagi? pasti akan membuang banyak waktu. Akan lebih baik jika class yang sudah kita bangun, kita rapikan, kita dokumentasikan agar suatu saat bisa kita gunakan lagi. Nah dengan demikian kita sudah membuat &#8220;framework&#8221; untuk aplikasi kita.</p>
<p>Framework yang mana?</p>
<p>Sekarang banyak sekali framework yang bergelimpangan dan bertebaran di jagat Internet. Mau gratis atau berbayar, mau yang file nya kecil atau yang besar, tinggal pilih sesuai keinginan dan kebutuhan. Bagi saya, menggunakan framework yang sudah ada dipasaran (ex. <a href="http://www.codeigniter.com">codeigniter</a>, <a href="http://www.yiiframework.com/">yii</a>, <a href="http://www.symfony-project.org/">symfony</a>, <a href="http://rubyonrails.org/">ruby on rails</a>, <a href="https://www.djangoproject.com/">django</a>) bukanlah suatu masalah. Tidak ada framework yang jelek, yang ada hanyalah jurang maksimalnya kita menggunakan framework tersebut.</p>
<p>Menggunakan framework membuat kode program kita menjadi lebih teratur dan terorganisir. Membuat kita belajar bagaimana agar kode kita mudah dibaca orang lain (apabila kita bekerja tim).</p>
<p>Kesimpulannya yang saya ambil adalah, setiap aplikasi pasti memerlukan dasar dan kerangka yang biasa disebut framework. Tentang framework yang akan digunakan, apakah memilih framework buatan sendiri atau framework yang sudah ada, itu tergantung kebutuhan dan kemampuan kita.</p>
<p>Pesan hari ini : Liat wajah bayi yang menguap dan tidur itu sungguh indah rasanya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2011/12/perlukah-memakai-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insert Multiple Rows dynamically with Jquery, PHP and MySQL</title>
		<link>http://dudu.web.id/2011/05/insert-multiple-rows-dynamically-with-jquery-php-and-mysql/</link>
		<comments>http://dudu.web.id/2011/05/insert-multiple-rows-dynamically-with-jquery-php-and-mysql/#comments</comments>
		<pubDate>Tue, 31 May 2011 01:14:35 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=424</guid>
		<description><![CDATA[udulnya mbois browww&#8230;. Begini ceritanya.pernah suatu ketika saya dikasih tugas di tempat kerja saya yang dulu, untuk membuat aplikasi web. Nah pada aplikasi tersebut terdapat fungsi memasukkan data tetapi secara dinamis (ga satu persatu). Yang dimaksudkan dinamis adalah, kita bisa menambahkan baris dengan sebuah tombol, jadi setiap tombol tersebut di klik, maka akan muncul 1 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.dudu.web.id/wp-content/uploads/2010/04/jquery.png" alt="Jquery" /><br />
udulnya mbois browww&#8230;.</p>
<p>Begini ceritanya.pernah suatu ketika saya dikasih tugas di tempat kerja saya yang dulu, untuk membuat aplikasi web. Nah pada aplikasi tersebut terdapat fungsi memasukkan data tetapi secara dinamis (ga satu persatu). Yang dimaksudkan dinamis adalah, kita bisa menambahkan baris dengan sebuah tombol, jadi setiap tombol tersebut di klik, maka akan muncul 1 baris baru di bawahnya untuk menampilkan field inputan. Kalo masih belum mudeng, bisa di lihat di halaman <a href="http://dudu.web.id/demo/jquery_dom.php">DEMO.</a></p>
<p>Nah dulu sih, ada contohnya, buatnya pake DOM Javascript, karena fieldnya banyak, maka scriptnya jadi spagetti alias amburadul.. Susah dipelajari, mana yang child, mana yang parent. Ternyata eh ternyata, setelah belajar pake jquery, jquery memiliki fungsi <a href="http://api.jquery.com/append/">.append()</a> yang bisa digunakan untuk ini.<br />
<span id="more-424"></span><br />
Dalam<a href="http://dudu.web.id/demo/jquery_dom.php"> demo ini</a> contohnya saya akan menginputkan data mahasiswa dengan field nim, nama depan, nama belakang. Untuk databasenya bisa dibuat sendiri lah (sesuaikan dengan milik Anda). Pada form inputnya dibuat script input seperti biasa, tetapi saya menggunakan tabel agar tampilannya bisa lebih rapi. Kemudian jangan lupa panggil jquerynya ya.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;title&gt;title&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt; &lt;!-- ini disesuaikan --&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;jquery_append.js&quot;&gt;&lt;/script&gt; &lt;!-- yang ini juga disesuaikan --&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;form id=&quot;id_form&quot; action=&quot;jquery_dom_save.php&quot; method=&quot;post&quot;&gt;
    	&lt;table&gt;
    		&lt;tr&gt;
        	&lt;td&gt;&lt;input type=&quot;button&quot; name=&quot;add_btn&quot; value=&quot;Add&quot; id=&quot;add_btn&quot;&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    		&lt;tr&gt;
    			&lt;td&gt;No&lt;/td&gt;&lt;td&gt;NIM&lt;/td&gt;&lt;td&gt;Nama Depan&lt;/td&gt;&lt;td&gt;Nama Belakang&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;
    		&lt;/tr&gt;
    		&lt;tbody id=&quot;container&quot;&gt;
&lt;!-- nanti rows nya muncul di sini --&gt;
        &lt;/tbody&gt;
        &lt;tr&gt;
	        &lt;td&gt;&lt;input type=&quot;submit&quot; name=submit value=&quot;Save&quot;&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;
	      &lt;/tr&gt;
    	&lt;/table&gt;
    &lt;/form&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Kemudian saya memisahkan file javascriptnya, yang digunakan untuk membuat elemen baru,saya namakan <strong>jquery_append.js</strong> yang scriptnya sebagai berikut :</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    		var count = 0;

    		$(&quot;#add_btn&quot;).click(function(){
					count += 1;
		   		$('#container').append(
							 '&lt;tr class=&quot;records&quot;&gt;'
						 + '&lt;td &gt;&lt;div id=&quot;'+count+'&quot;&gt;' + count + '&lt;/div&gt;&lt;/td&gt;'
						 + '&lt;td&gt;&lt;input id=&quot;nim_' + count + '&quot; name=&quot;nim_' + count + '&quot; type=&quot;text&quot;&gt;&lt;/td&gt;'
						 + '&lt;td&gt;&lt;input id=&quot;nama_depan_' + count + '&quot; name=&quot;nama_depan_' + count + '&quot; type=&quot;text&quot;&gt;&lt;/td&gt;'
						 + '&lt;td&gt;&lt;input id=&quot;nama_belakang_' + count + '&quot; name=&quot;nama_belakang_' + count + '&quot; type=&quot;text&quot;&gt;&lt;/td&gt;'
						 + '&lt;td&gt;&lt;a class=&quot;remove_item&quot; href=&quot;#&quot; &gt;Delete&lt;/a&gt;'
						 + '&lt;input id=&quot;rows_' + count + '&quot; name=&quot;rows[]&quot; value=&quot;'+ count +'&quot; type=&quot;hidden&quot;&gt;&lt;/td&gt;&lt;/tr&gt;'
					);
				});

				$(&quot;.remove_item&quot;).live('click', function (ev) {
    			if (ev.type == 'click') {
	        	$(this).parents(&quot;.records&quot;).fadeOut();
                        $(this).parents(&quot;.records&quot;).remove();
        	}
     		});
		});
</pre>
<p>Script di atas adalah script javascript yang menggunakan jquery append() untuk membuat elemen. Dan nama elemennya saya buat nama_elemen_ agar nanti setiap penambahana elemen akan ditambahkan prefik dari variabel count yang isinya adalah nomor / angka berurutan. Sehinga pada baris pertama, nama inputnya akan menjadi nim_1, nama_depan_1, nama_belakang_1, kemudian pada baris selanjutnya  nim_2, nama_depan_2, nama_belakang_2 dan seterusnya.</p>
<p>Baris</p>
<pre class="brush: xml; title: ; notranslate">&lt;input id=&quot;rows_' + count + '&quot; name=&quot;rows[]&quot; value=&quot;'+ count +'&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt;</pre>
<p>digunakan untuk nantinya menghitung berapa row yang sudah dibuat, digunakan ketika perulangan insert data ke dalam tabel.</p>
<p>&nbsp;</p>
<p>Saya juga menambahkan link untuk menhapus row jika sekiranya di perlukan. Menggunakan jquery live() karena row yang ditambahkan dibuat menggunakan javascript, sehingga harus menggunakan  jquery.live() silahkan baca dokumentasi jquery .live() <a href="http://api.jquery.com/live">di sini</a></p>
<p>Akhirnya script untuk input datanya adalah sebagai berikut:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	if(isset($_POST['submit'])){
	  $connection = mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;) or die(mysql_error());
	  mysql_select_db(&quot;latihan&quot;) or die(mysql_error());
			foreach ($_POST['rows'] as $key =&gt; $count ){
				$nim = $_POST['nim_'.$count];
				$nama_depan = $_POST['nama_depan_'.$count];
				$nama_belakang = $_POST['nama_belakang_'.$count];

				$query_2 = &quot;INSERT INTO kelas_mahasiswa (nim,nama_depan,nama_belakang) VALUES ('$nim','$nama_depan','$nama_belakang')&quot;;

				mysql_query($query_2) or die(mysql_error());
			}

			echo &quot;Data Berhasil disimpan &lt;br&gt;&quot;;
			echo &quot;&lt;a href=\&quot;jquery_dom.php\&quot;&gt;Kembali&lt;/a&gt;&quot;;

		mysql_close($connection);

	}else{
		header('Location: jquery_dom.php');
	}
?&gt;
</pre>
<p>Menggunakan perulangan foreach dengan menghitung $_POST['rows']. Jangan lupa untuk setiap perulangan ditambahkan $count untuk mengambil nilai dari form input yang kita namai setiap field nya dengan name_1, 2 3 dst tadi.</p>
<p>Ada pertanyaan? Silahkan berkomentar, jika ada kesalahan mohon diperbaiki ya,,,</p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2011/05/insert-multiple-rows-dynamically-with-jquery-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Mengaktifkan fitur search, sort dan paging pada JQrid dan Codeigniter</title>
		<link>http://dudu.web.id/2011/05/mengaktifkan-fitur-search-pada-jqrid-dan-codeigniter/</link>
		<comments>http://dudu.web.id/2011/05/mengaktifkan-fitur-search-pada-jqrid-dan-codeigniter/#comments</comments>
		<pubDate>Thu, 26 May 2011 02:01:13 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[jqgrid]]></category>
		<category><![CDATA[Jqueryui]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=417</guid>
		<description><![CDATA[Sebelumnya saya mohon maaf, jika pada artikel sebelumnya Tutorial menggunakan Codeigniter dan JqGrid ternyata masih banyak terdapat kesalahan pada codingnya . Misalnya fungsi sorting dan search belum bisa jalan, kemudia fungsi pagination juga masih eror (. Kali ini saya berusaha memperbaiki kesalahan tersebut, dengan mengaktifkan fitur search, sorting dan paging pada jqgrid tersebut. Berbekal dari google, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2010/11/jqgrid.png"><img class="alignnone size-full wp-image-348" title="jqgrid" src="http://dudu.web.id/wp-content/uploads/2010/11/jqgrid.png" alt="" width="462" height="188" /></a></p>
<p>Sebelumnya saya mohon maaf, jika pada artikel sebelumnya <a href="http://dudu.web.id/?p=347">Tutorial menggunakan Codeigniter dan JqGrid</a> ternyata masih banyak terdapat kesalahan pada codingnya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Misalnya fungsi sorting dan search belum bisa jalan, kemudia fungsi pagination juga masih eror <img src='http://dudu.web.id/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> (.</p>
<p>Kali ini saya berusaha memperbaiki kesalahan tersebut, dengan mengaktifkan fitur search, sorting dan paging pada jqgrid tersebut.<br />
<span id="more-417"></span><br />
Berbekal dari <a href="http://www.google.com">google</a>, dan akhirnya menemukan blog <a href="http://blog.brzezinka.eu/webmaster-tips/jquery/how-to-enable-the-search-functionality-in-jqgrid">ini</a>.. Mulau saya kutak katik koding yang dahulu.. ternyata banyak salahnya saya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  gapapa deh, namanya juga belajar. Sebelumnya saya mengubah file view, menjadi seperti ini..</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE HTML&gt;
&lt;html lang=&quot;en-US&quot;&gt;
 	&lt;head&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link type=&quot;text/css&quot; href=&quot;&lt;?php echo base_url()?&gt;jqgrid/css/ui.jqgrid.css&quot; rel=&quot;stylesheet&quot; /&gt;
		&lt;link type=&quot;text/css&quot; href=&quot;&lt;?php echo base_url()?&gt;jqgrid/css/jquery.searchFilter.css&quot; rel=&quot;stylesheet&quot; /&gt;
		&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo base_url(); ?&gt;jqgrid/js/i18n/grid.locale-en.js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo base_url(); ?&gt;jqgrid/jquery.jqGrid.js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo base_url(); ?&gt;jqgrid/jquery.jqGrid.min.js&quot;&gt;&lt;/script&gt;
        &lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo base_url(); ?&gt;jqgrid/jquery.layout.js&quot;&gt;&lt;/script&gt;

		&lt;title&gt;Demo Jquery JqGrid Codeigniter&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;?
			$ci =&amp; get_instance();
			$base_url = base_url();
		?&gt;

		&lt;script type=&quot;text/javascript&quot;&gt;
			jQuery().ready(function (){
				jQuery(&quot;#list1&quot;).jqGrid({
		   			url:'&lt;?=$base_url.'index.php/daily/loadDataGrid'?&gt;',      //another controller function for generating data
					mtype : &quot;post&quot;,             //Ajax request type. It also could be GET
					datatype: &quot;json&quot;,            //supported formats XML, JSON or Arrray
		   			colNames:['Date','Name','Amount'],       //Grid column headings
		   			colModel:[
				   		{name:'date',index:'date', width:30, align:&quot;left&quot;},
				   		{name:'name',index:'name', width:20, align:&quot;left&quot;},
				   		{name:'amount',index:'amount', width:20, align:&quot;right&quot;},
		  			],
				   	rowNum:10,
				   	width: 450,
						height: 300,
				   	rowList:[10,20,30],
				   	pager: '#pager1',
				   	sortname: 'id',
				    viewrecords: true,
					rownumbers: true,
					gridview: true,
					caption:&quot;List Daily&quot;
				}).navGrid('#pager1',{edit:false,add:false,del:false});
			});
		&lt;/script&gt;

		&lt;table id=&quot;list1&quot;&gt;&lt;/table&gt; &lt;!--Grid table--&gt;
		&lt;div id=&quot;pager1&quot;&gt;&lt;/div&gt;  &lt;!--pagination div--&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Intinya perubahan view adalah membetulkan file javascript yang dipanggil (dulu ga tau, asal manggil aja). Kemudian pada controller, ada beberapa yang saya betulkan, terutama pada fungsi untuk memanggil jqgridnya (dulu saya memakai nama fungsinya function loadDataGrid). Yang saya lakukan adalah menambahkan beberapa parameter yang digunakan pada searching data, paging dan sorting. Untuk lebih jelasnya script function loadDataGrid sebagai berikut :</p>
<pre class="brush: php; title: ; notranslate">
function loadDataGrid(){
		$page = isset($_POST['page'])?$_POST['page']:1; // get the requested page
		$limit = isset($_POST['rows'])?$_POST['rows']:10; // get how many rows we want to have into the grid
		$sidx = isset($_POST['sidx'])?$_POST['sidx']:'name'; // get index row - i.e. user click to sort
		$sord = isset($_POST['sord'])?$_POST['sord']:''; // get the direction

        $start = $limit*$page - $limit; // do not put $limit*($page - 1)
		$start = ($start&lt;0)?0:$start;  // make sure that $start is not a negative value

		$where = &quot;&quot;; //if there is no search request sent by jqgrid, $where should be empty
        $searchField = isset($_POST['searchField']) ? $_POST['searchField'] : false;
        $searchOper = isset($_POST['searchOper']) ? $_POST['searchOper']: false;
        $searchString = isset($_POST['searchString']) ? $_POST['searchString'] : false;

        if ($_POST['_search'] == 'true') {
            $ops = array(
            'eq'=&gt;'=', //equal
            'ne'=&gt;'&lt;&gt;',//not equal
            'lt'=&gt;'&lt;', //less than
            'le'=&gt;'&lt;=',//less than or equal
            'gt'=&gt;'&gt;', //greater than
            'ge'=&gt;'&gt;=',//greater than or equal
            'bw'=&gt;'LIKE', //begins with
            'bn'=&gt;'NOT LIKE', //doesn't begin with
            'in'=&gt;'LIKE', //is in
            'ni'=&gt;'NOT LIKE', //is not in
            'ew'=&gt;'LIKE', //ends with
            'en'=&gt;'NOT LIKE', //doesn't end with
            'cn'=&gt;'LIKE', // contains
            'nc'=&gt;'NOT LIKE'  //doesn't contain
            );

            foreach ($ops as $key=&gt;$value){
                if ($searchOper==$key) {
                    $ops = $value;
                }
            }
            if($searchOper == 'eq' ) $searchString = $searchString;
            if($searchOper == 'bw' || $searchOper == 'bn') $searchString .= '%';
            if($searchOper == 'ew' || $searchOper == 'en' ) $searchString = '%'.$searchString;
            if($searchOper == 'cn' || $searchOper == 'nc' || $searchOper == 'in' || $searchOper == 'ni') $searchString = '%'.$searchString.'%';

            $where = &quot;$searchField $ops '$searchString' &quot;; //create where parameter for search data
        }

		if(!$sidx) $sidx =1;
        $count = $this-&gt;db-&gt;count_all_results('daily'); //get total rows from table daily

		if( $count &gt; 0 ) {
			$total_pages = ceil($count/$limit);    //calculating total number of pages
		} else {
			$total_pages = 0;
		}

		if ($page &gt; $total_pages) $page=$total_pages;
   		$query = $this-&gt;MDaily-&gt;getAllGrid($start,$limit,$sidx,$sord,$where); //add parameter to model

		$responce-&gt;page = $page;
		$responce-&gt;total = $total_pages;
		$responce-&gt;records = $count;
		$i=0;
		foreach($query as $row) {
			$responce-&gt;rows[$i]['id']=$row-&gt;id;
			$responce-&gt;rows[$i]['cell']=array($row-&gt;date,$row-&gt;name,$row-&gt;amount);
			$i++;
		}
		echo json_encode($responce);
  }
</pre>
<p>banyak perubahannya ya? hehehe.. maklum saya juga masih belajar.. Dan untuk model, saya membuat sebuah fungsi baru yaitu getAllGrid dengan parameternya ada banyak (lihat source codenya langsung) seperti berikut :</p>
<pre class="brush: php; title: ; notranslate">
function getAllGrid($start,$limit,$sidx,$sord,$where){
    $this-&gt;db-&gt;select('id,date,name,amount');
    $this-&gt;db-&gt;limit($limit);
    if($where != NULL)$this-&gt;db-&gt;where($where,NULL,FALSE);
    $this-&gt;db-&gt;order_by($sidx,$sord);
    $query = $this-&gt;db-&gt;get('daily',$limit,$start);

    return $query-&gt;result();
  }
</pre>
<p>terdapat if dalam fungsi tersebut, digunakan kalau ada parameter where, maka dilakuakan query menggunakan where tersebut, jika tidak ya tidak menggunakan where <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Semoga berhasil.. Ingat, untuk menjalankan program ini harus terhubung ke internet, soalnya jquery nya saya ambil langsung dari internet <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Dan juga harus mengikuti artikel <a href="http://dudu.web.id/?p=347">yang ini</a> dulu..</p>
<p>Demo masih tetap pada halaman <a href="http://dudu.web.id/ci_ku/index.php/daily/jqGrid">berikut </a></p>
<p>Untuk lebih jelasnya tentang perubahan yang saya gunakan, bisa di cek di <a href="https://github.com/dwijonarko/ci_ku/">github saya </a></p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2011/05/mengaktifkan-fitur-search-pada-jqrid-dan-codeigniter/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Chained DropDown dengan Jquery dan Codeigniter</title>
		<link>http://dudu.web.id/2011/02/chained-dropdown-dengan-jquery-dan-codeigniter/</link>
		<comments>http://dudu.web.id/2011/02/chained-dropdown-dengan-jquery-dan-codeigniter/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 07:16:58 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Chained Dropdown]]></category>
		<category><![CDATA[Dropdown Select]]></category>
		<category><![CDATA[Linked Dropdown]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Sub Dropdown]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=383</guid>
		<description><![CDATA[*gambarnya aneh Selamat datang kembali, yeah&#8230; setelah kemarin pusing dengan aktifitas di tempat kerja, akhirnya bisa refreshing lagi, kangen-kangenan lagi dengan Codeigniter dan JQuery. Rencananya sih pengen nyoba yang 2.0, tapi nanggung ah, masih pake yang versi lama dulu. Beberapa waktu lalu sempat ditanyain cara buat dropdown yang nyambung (istilahnya banyak sih), ada pula yang [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2011/02/Screenshot-Chain-Select-With-Codeigniter-and-Jquery-Mozilla-Firefox.png"><img class="alignnone size-full wp-image-384" title="Chain Select With Codeigniter and Jquery - Mozilla Firefox" src="http://dudu.web.id/wp-content/uploads/2011/02/Screenshot-Chain-Select-With-Codeigniter-and-Jquery-Mozilla-Firefox.png" alt="" width="469" height="221" /></a></p>
<p>*gambarnya aneh <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Selamat datang kembali, yeah&#8230; setelah kemarin pusing dengan aktifitas di tempat kerja, akhirnya bisa refreshing lagi, kangen-kangenan lagi dengan Codeigniter dan JQuery. Rencananya sih pengen nyoba yang 2.0, tapi nanggung ah, masih pake yang versi lama dulu.</p>
<p>Beberapa waktu lalu sempat ditanyain cara buat dropdown yang nyambung (istilahnya banyak sih), ada pula yang kasih istilah Sub Dropdown. Yaitu select/dropdown 1 yang kalo dipilih, nanti dropdown 2 listnya akan berubah sesuai kategori di dropdown 1. Contoh sederhananya ya ketika milih propinsi, maka dorpdown 2 akan muncul pilihan kota sesuai propinsi di drodown 1 (kaya di skrinsut <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).</p>
<p>Karena saya biasa pake CI, ya wes langsung ta buat aja..</p>
<p><span id="more-383"></span></p>
<p><strong>Controller :</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class Chain extends Controller{

	function __construct(){
		parent::Controller();
		$this-&gt;load-&gt;model('MChain');
	}

	function index(){

		$data['option_propinsi'] = $this-&gt;MChain-&gt;getPropinsiList();
		$this-&gt;load-&gt;view('chain/index',$data);
	}

	function select_kota(){
		$data['option_kota'] = $this-&gt;MChain-&gt;getKotaList();
		$this-&gt;load-&gt;view('chain/kota',$data);
	}
}
?&gt;
</pre>
<p>Dua function, yang pertama index, untuk menampilkan halaman awalnya, kemudian select_kota itu dijalankan lewat ajax untuk memanggil dropdowon dua yang isinya kota sesuai propinsi pada dropdown pertama.</p>
<p><strong>Model :</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class MChain extends Model{
	function __construct(){
		parent::Model();
	}

	function getPropinsiList(){
		$result = array();
		$this-&gt;db-&gt;select('*');
		$this-&gt;db-&gt;from('propinsi');
		$this-&gt;db-&gt;order_by('propinsi','ASC');
		$array_keys_values = $this-&gt;db-&gt;get();
        foreach ($array_keys_values-&gt;result() as $row)
        {
            $result[0]= '-Pilih Propinsi-';
            $result[$row-&gt;propinsi_id]= $row-&gt;propinsi;
        }

        return $result;
	}

	function getKotaList(){
		$propinsi_id = $this-&gt;input-&gt;post('propinsi_id');
		$result = array();
		$this-&gt;db-&gt;select('*');
		$this-&gt;db-&gt;from('kota_kabupaten');
		$this-&gt;db-&gt;where('propinsi_id',$propinsi_id);
		$this-&gt;db-&gt;order_by('kota_kabupaten','ASC');
		$array_keys_values = $this-&gt;db-&gt;get();
        foreach ($array_keys_values-&gt;result() as $row)
        {
            $result[0]= '-Pilih Kota / Kabupaten-';
            $result[$row-&gt;kota_id]= $row-&gt;kota_kabupaten;
        }

        return $result;
	}

}
?&gt;
</pre>
<p>Dua fungsi yang hampir sama, sama-sama memanggil isi dari tabel, kemudian ditampilkan sebagi list pada dropdown. Kalo fungsi yang kedua, itu ditambah statement where, sesuai kategori propinsi yang dipilih.</p>
<p><strong>View :</strong><br />
Saya buat dua view, yang pertama untuk halaman depannya, kemudian yang kedua adalah untuk menampilkan dropdown dua untuk kota/kabupaten. Viewnya sebagai berikut :<br />
index.php</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;title&gt;Chain Select With Codeigniter and Jquery&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css&quot; type=&quot;text/	css&quot; media=&quot;all&quot; /&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;!-- page content --&gt;
    &lt;div id=&quot;propinsi&quot; style=&quot;width:250px;float:left;&quot;&gt;
    Propinsi : &lt;br/&gt;
    &lt;?php
    	echo form_dropdown(&quot;provinsi_id&quot;,$option_propinsi,&quot;&quot;,&quot;id='propinsi_id'&quot;);
    ?&gt;
    &lt;/div&gt;
    &lt;div id=&quot;kota&quot;&gt;
    Kota / Kabupaten :&lt;br/&gt;
   	&lt;?php
    	echo form_dropdown(&quot;kota_id&quot;,array('Pilih Kota / Kabupaten'=&gt;'Pilih Propinsi Dahulu'),'','disabled');
    ?&gt;
    &lt;/div&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
	  	$(&quot;#propinsi_id&quot;).change(function(){
	    		var propinsi_id = {propinsi_id:$(&quot;#propinsi_id&quot;).val()};
	    		$.ajax({
						type: &quot;POST&quot;,
						url : &quot;&lt;?php echo site_url('chain/select_kota')?&gt;&quot;,
						data: propinsi_id,
						success: function(msg){
							$('#kota').html(msg);
						}
				  	});
	    });
	   &lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>kota.php</p>
<pre class="brush: php; title: ; notranslate">
Kota / Kabupaten :&lt;br/&gt;
   	&lt;?php
    	echo form_dropdown(&quot;kota_id&quot;,$option_kota,'');
    ?&gt;
</pre>
<p>Prosesnya adalah di view index.php, dropdown pertama diberikan sebuah id, kemudian id tersebut dipanggil dengan jquery, dengan menambahkan parameter value yg dipilih. Kemudian memanggil controller select_kota, memanggil model getKotaList sesuai paramater pada dropdown propinsi, lalu hasilnya akan diletakkan pada div kota. Begitulah kira-kira langkahnya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Source nya ada di <a href="https://github.com/dwijonarko/ci_ku" target="_blank">sini</a></p>
<p>Ada beberapa bugs ketika saya coba, ketika di coba di localhost. semua berjalan lancar, tetapi ketika saya coba upload di hosting, ternyata scriptnya jadi ga jalan.. POST nya ga bisa dikirim oleh jquery&#8230; aneh.. ada yang bisa nemu erorrnya??</p>
<blockquote><p>30-03-2011 : Pagi ini saya upload ulang filenya, dan tiba-tiba bisa jalan di servernya. Coba di cek deh <a href="http://dudu.web.id/ci_ku/index.php/chain">http://dudu.web.id/ci_ku/index.php/chain</a> ga tau kenapa..</p></blockquote>
<p>Oh ya, unttuk databasenya saya download dari <a href="http://muhammad.zamroni.net/download-data-propinsi-dan-kota-kabupaten-se-indonesia.html#header" target="_blank">sini</a>, thx to mas <a href="http://twitter.com/matriphe" target="_blank">@matriphe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2011/02/chained-dropdown-dengan-jquery-dan-codeigniter/feed/</wfw:commentRss>
		<slash:comments>129</slash:comments>
		</item>
		<item>
		<title>Codeigniter &#8211; JQueryUI &#8211; Autocomplete tutorial</title>
		<link>http://dudu.web.id/2010/12/codeigniter-jqueryui-autocomplete-tutorial/</link>
		<comments>http://dudu.web.id/2010/12/codeigniter-jqueryui-autocomplete-tutorial/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 02:34:06 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Autocomplete]]></category>
		<category><![CDATA[Jqueryui]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=355</guid>
		<description><![CDATA[Kali ini saya mencoba menggabungkan jqueryui dan codeigniter lagi, dan membuat fitur autocomplete / autosuggest. Fungsi autocomplete ini adalah ketika kita mengetikkan karakter pada sebuah input text, maka akan menampilkan daftar item yang memiliki huruf awal sesuai karakter yang kita berikan. Tidak harus huruf awal, ini tergantung query kita dalam mencari item yang diinginkan. Fitur [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2010/12/Screenshot.png"><img src="http://dudu.web.id/wp-content/uploads/2010/12/Screenshot.png" alt="JQueryUI Autocomplete" title="JQueryUI Autocomplete" width="348" height="208" class="alignnone size-full wp-image-356" /></a><br />
Kali ini saya mencoba menggabungkan jqueryui dan codeigniter lagi, dan membuat fitur autocomplete / autosuggest. Fungsi autocomplete ini adalah ketika kita mengetikkan karakter pada sebuah input text, maka akan menampilkan daftar item yang memiliki huruf awal sesuai karakter yang kita berikan. Tidak harus huruf awal, ini tergantung query kita dalam mencari item yang diinginkan.</p>
<p>Fitur autocomplete itu sendiri sudah dimiliki oleh plugin jqueryui secara default. Sehingga tidak perlu plugin tambahan lagi. Cukup dipanggil dengan .autocomplete pada elemen yang diinginkan (bisa menggunakan id atau class).<br />
<span id="more-355"></span><br />
Dalam codeigniter, prinsipnya sama saja. Yang pertama kita buat fungsi index untuk menampilkan form input text. Input text tersebut kita beri id / class tertentu. Kemudian tambahkan fungsi autocomplete pada elemen input tersebut, dengan memanggil controller dan fungsi untuk mecari data. Dalam contoh ini data diambil dari database, dengan memanggil model. Kemudian data disajikan dalam bentuk JSON untuk kemudian ditampilkan dalam list autocomplete. Anda bisa mencoba di halaman <a href="http://dudu.web.id/ci_ku/" target="_blank">demo</a>.</p>
<p>Script controller nya adalah sebagai berikut:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

class Autocomplete extends Controller {

	function __construct()	{
		parent::Controller();
		$this-&gt;load-&gt;model('MAutocomplete');
	}

	function index(){
		$this-&gt;load-&gt;view('autocomplete/show');
	}

	function lookup(){
		// process posted form data (the requested items like province)
        $keyword = $this-&gt;input-&gt;post('term');
        $data['response'] = 'false'; //Set default response
        $query = $this-&gt;MAutocomplete-&gt;lookup($keyword); //Search DB
        if( ! empty($query) )
        {
            $data['response'] = 'true'; //Set response
            $data['message'] = array(); //Create array
            foreach( $query as $row )
            {
                $data['message'][] = array(
                                        'id'=&gt;$row-&gt;propinsi_id,
                                        'value' =&gt; $row-&gt;propinsi,
                                        ''
                                     );  //Add a row to array
            }
        }
        if('IS_AJAX')
        {
            echo json_encode($data); //echo json string if ajax request

        }
        else
        {
            $this-&gt;load-&gt;view('autocomplete/index',$data); //Load html view of search results
        }
	}
}
</pre>
<p>function index adalah fungsi untuk menampilkan form input. Sedangkan fungsi lookup digunakan untuk mengambil data dan menyajikan dalam bentuk JSON.</p>
<p>Dalam controller, untuk mengambil data menggunakan model, sehingga script modelnya adalah sebagai berikut :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class MAutocomplete extends Model{

	function __construct(){
		parent::Model();
	}

	function lookup($keyword){
		$this-&gt;db-&gt;select('*')-&gt;from('propinsi');
        $this-&gt;db-&gt;like('propinsi',$keyword,'after');
        $query = $this-&gt;db-&gt;get();    

        return $query-&gt;result();
	}
}
</pre>
<p>Berisi query active record (bisa juga query sql biasa) untuk mencari data dengan ketentuan LIKE keyword yang diberikan.</p>
<p>Sedangkan viewnya adalah sebagai berikut, sudah dilengkapi dengan script untuk memanggil fungsi autocomplete:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE HTML&gt;
&lt;html lang=&quot;en-US&quot;&gt;
	&lt;head&gt;
	    &lt;title&gt;Codeigniter Autocomplete&lt;/title&gt;
	    &lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css&quot; type=&quot;text/	css&quot; media=&quot;all&quot; /&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	    &lt;meta charset=&quot;UTF-8&quot;&gt;

	    &lt;style&gt;
	    	/* Autocomplete
			----------------------------------*/
			.ui-autocomplete { position: absolute; cursor: default; }
			.ui-autocomplete-loading { background: white url('http://jquery-ui.googlecode.com/svn/tags/1.8.2/themes/flick/images/ui-anim_basic_16x16.gif') right center no-repeat; }*/

			/* workarounds */
			* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */

			/* Menu
			----------------------------------*/
			.ui-menu {
				list-style:none;
				padding: 2px;
				margin: 0;
				display:block;
			}
			.ui-menu .ui-menu {
				margin-top: -3px;
			}
			.ui-menu .ui-menu-item {
				margin:0;
				padding: 0;
				zoom: 1;
				float: left;
				clear: left;
				width: 100%;
				font-size:80%;
			}
			.ui-menu .ui-menu-item a {
				text-decoration:none;
				display:block;
				padding:.2em .4em;
				line-height:1.5;
				zoom:1;
			}
			.ui-menu .ui-menu-item a.ui-state-hover,
			.ui-menu .ui-menu-item a.ui-state-active {
				font-weight: normal;
				margin: -1px;
			}
	    &lt;/style&gt;

	    &lt;script type=&quot;text/javascript&quot;&gt;
	    $(this).ready( function() {
    		$(&quot;#provinsi_id&quot;).autocomplete({
      			minLength: 1,
      			source:
        		function(req, add){
          			$.ajax({
		        		url: &quot;&lt;?php echo base_url(); ?&gt;index.php/autocomplete/lookup&quot;,
		          		dataType: 'json',
		          		type: 'POST',
		          		data: req,
		          		success:
		            	function(data){
		              		if(data.response ==&quot;true&quot;){
		                 		add(data.message);
		              		}
		            	},
              		});
         		},
         	select:
         		function(event, ui) {
            		$(&quot;#result&quot;).append(
            			&quot;&lt;li&gt;&quot;+ ui.item.value + &quot;&lt;/li&gt;&quot;
            		);
         		},
    		});
	    });
	    &lt;/script&gt;

	&lt;/head&gt;
	&lt;body&gt;
		Nama Provinsi :
		&lt;?php
			echo form_input('provinsi','','id=&quot;provinsi_id&quot;');
		?&gt;
		&lt;ul&gt;
			&lt;div id=&quot;result&quot;&gt;&lt;/div&gt;
		&lt;/ul&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Anda bisa mecoba di halaman <a href="http://dudu.web.id/ci_ku/" target="_blank">DEMO</a>, dan script nya bisa dilihat pada <a href="https://github.com/dwijonarko/ci_ku">github</a> saya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Semoga berhasil. Jika ada pertanyaan silahkan masukkan pada kolom komentar.<br />
NB: Jangan lupa sesuaikan database yang digunakan. <a href="http://dl.dropbox.com/u/12518564/propinsi.sql">Berikut</a> adalah sql dari tabel propinsi yang saya gunakan <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2010/12/codeigniter-jqueryui-autocomplete-tutorial/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>Tutorial menggunakan Codeigniter dan JqGrid</title>
		<link>http://dudu.web.id/2010/11/tutorial-menggunakan-codeigniter-dan-jqgrid/</link>
		<comments>http://dudu.web.id/2010/11/tutorial-menggunakan-codeigniter-dan-jqgrid/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 10:35:30 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[jqgrid]]></category>
		<category><![CDATA[Jqueryui]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=347</guid>
		<description><![CDATA[Jqgrid adalah plugin dari Jquery yang digunakan untuk manipulasi data menggunakan framework jquery. Jqgrid memiliki fungsi antara lain load data, search, edit delete dan sebagainya. Apabila kita biasa menampilkan data dalam bentuk tabel biasa, maka dengan menggunakan Jqgrid, data akan ditampilkan menjadi lebih menarik dan dinamis. Beberapa fungsi dari Jqgrid dapat dilihat pada halaman demo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2010/11/jqgrid.png"><img class="alignnone size-full wp-image-348" title="jqgrid" src="http://dudu.web.id/wp-content/uploads/2010/11/jqgrid.png" alt="" width="462" height="188" /></a><br />
<a href="http://www.trirand.com/blog/" target="_blank">Jqgrid</a> adalah plugin dari<a href="http://www.jquery.com" target="_blank"> Jquery</a> yang digunakan untuk manipulasi data menggunakan framework jquery. Jqgrid memiliki fungsi antara lain load data, search, edit delete dan sebagainya. Apabila kita biasa menampilkan data dalam bentuk tabel biasa, maka dengan menggunakan Jqgrid, data akan ditampilkan menjadi lebih menarik dan dinamis. Beberapa fungsi dari Jqgrid dapat dilihat pada halaman <a href="http://trirand.com/blog/jqgrid/jqgrid.html" target="_blank">demo</a> nya.</p>
<p>Tutorial kali ini saya akan menggabungkan Jqgrid dengan <a href="http://dudu.web.id/tag/codeigniter/">framework codeigniter (tentunya)</a>. Langkah-langkahnya adalah dengan meload data dari database dalam format JSON (dapat juga menggunakan format Array dan XML) kemudian ditampilkan dalam Jqgrid. Silahkan lihat demo nya di <a href="http://dudu.web.id/ci_ku/index.php/daily/jqGrid">halaman ini</a>.<br />
<span id="more-347"></span><br />
Kita menggunakan aplikasi ci_ku yang <a href="http://dudu.web.id/2010/11/crud-sederhana-dengan-jquery-jqueryui-dan-codeigniter/">sebelumnya</a> kita bahas. Kemudian tambahkan dua fungsi berikut pada controller daily:</p>
<pre class="brush: php; title: ; notranslate">
function jqGrid(){
  	$this-&gt;load-&gt;view('daily/grid');
  }

  function loadDataGrid(){
		$page = isset($_POST['page'])?$_POST['page']:1; // get the requested page
		$limit = isset($_POST['rows'])?$_POST['rows']:10; // get how many rows we want to have into the grid
		$sidx = isset($_POST['sidx'])?$_POST['sidx']:'name'; // get index row - i.e. user click to sort
		$sord = isset($_POST['sord'])?$_POST['sord']:''; // get the direction

		if(!$sidx) $sidx =1;
		$query = $this-&gt;MDaily-&gt;getAll();

		$count = count($query);

		if( $count &gt; 0 ) {
			$total_pages = ceil($count/$limit);    //calculating total number of pages
		} else {
			$total_pages = 0;
		}

		if ($page &gt; $total_pages) $page=$total_pages;

		$start = $limit*$page - $limit; // do not put $limit*($page - 1)
		$start = ($start&lt;0)?0:$start;  // make sure that $start is not a negative value

		$responce-&gt;page = $page;
		$responce-&gt;total = $total_pages;
		$responce-&gt;records = $count;
		$i=0;
		foreach($query as $row) {
			$responce-&gt;rows[$i]['id']=$row-&gt;id;
			$responce-&gt;rows[$i]['cell']=array($i+1,$row-&gt;date,$row-&gt;name,$row-&gt;amount);
			$i++;
		}
		echo json_encode($responce);
  }
</pre>
<p>fungsi jqGrid adalah fungsi yang nantinya kita panggil, sehingga URL nya akan menjadi (<strong>http://localhost/ci_ku/index.php/daily/jqGrid</strong>)</p>
<p>Kemudian fungsi loadDataGrid adalah fungsi yang dipanggil untuk meload data dari database dan ditampilkan dalam dormat JSON</p>
<p>untuk Model, tidak ada perubahan, karena kita hanya mengambil data sehingga bisa langsung di ambil dengan <code>$this-&gt;MDaily-&gt;getAll();</code><br />
kemudian untuk view saya buat seperti berikut :</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE HTML&gt;
&lt;html lang=&quot;en-US&quot;&gt;
 	&lt;head&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
		&lt;link type=&quot;text/css&quot; href=&quot;&lt;?php echo base_url()?&gt;jqgrid/css/ui.jqgrid.css&quot; rel=&quot;stylesheet&quot; /&gt;
		&lt;link type=&quot;text/css&quot; href=&quot;&lt;?php echo base_url()?&gt;jqgrid/css/jquery.searchFilter.css&quot; rel=&quot;stylesheet&quot; /&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
		&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo base_url(); ?&gt;jqgrid/jquery.jqGrid.js&quot;&gt;&lt;/script&gt;

		&lt;title&gt;Demo Jquery JqGrid Codeigniter&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;?
			$ci =&amp; get_instance();
			$base_url = base_url();
		?&gt;

		&lt;script type=&quot;text/javascript&quot;&gt;
			jQuery().ready(function (){
				jQuery(&quot;#list1&quot;).jqGrid({
		   			url:'&lt;?=$base_url.'index.php/daily/loadDataGrid'?&gt;',      //another controller function for generating data
					mtype : &quot;post&quot;,             //Ajax request type. It also could be GET
					datatype: &quot;json&quot;,            //supported formats XML, JSON or Arrray
		   			colNames:['No','Date','Name','Amount'],       //Grid column headings
		   			colModel:[
				   		{name:'no',index:'no', width:5, align:&quot;right&quot;},
				   		{name:'date',index:'date', width:30, align:&quot;left&quot;},
				   		{name:'name',index:'name', width:20, align:&quot;left&quot;},
				   		{name:'amount',index:'amount', width:20, align:&quot;right&quot;},
		  			],
				   	rowNum:10,
				   	width: 450,
					height: 100,
				   	rowList:[10,20,30],
				   	pager: '#pager1',
				   	sortname: 'id',
					viewrecords: true,
					caption:&quot;List Daily&quot;
				}).navGrid('#pager1',{edit:false,add:false,del:false});
			});
		&lt;/script&gt;

		&lt;table id=&quot;list1&quot;&gt;&lt;/table&gt; &lt;!--Grid table--&gt;
		&lt;div id=&quot;pager1&quot;&gt;&lt;/div&gt;  &lt;!--pagination div--&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Perlu diperhatikan juga direktori kita untuk meload jqgrid. Jqgrid dapat didownload pada halaman <a href="https://github.com/tonytomov/jqGrid">ini</a>. Kemudian ekstrak pada root direktori project CI. Sesuaikan pada file jquery.jqGrid.js pada baris berikut, sesuai path tempat direktori Anda</p>
<p><code>var pathtojsfiles = "http://localhost/ci_ku/jqgrid/js/"; // need to be ajusted</code></p>
<p>Untuk demo bisa di lihat pada halaman <a href="http://dudu.web.id/ci_ku/index.php/daily/jqGrid">ini</a> dan source code ada pada <a href="https://github.com/dwijonarko/ci_ku">github</a> saya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Semoga berhasil <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>
Update, untuk sorting data, silahkan controllernya yang</p>
<pre class="brush: php; title: ; notranslate">$query = $this-&gt;MDaily-&gt;getAll();</pre>
<p>diganti</p>
<pre class="brush: php; title: ; notranslate">$query = $this-&gt;MDaily-&gt;getAll($limit,$sidx,$sord);</pre>
<p>Kemudian bagian model diubah menjadi</p>
<pre class="brush: php; title: ; notranslate">
function getAll($limit,$sidx,$sord){
    $this-&gt;db-&gt;select('id,date,name,amount');
    $this-&gt;db-&gt;from('daily');
    $this-&gt;db-&gt;limit($limit);
    $this-&gt;db-&gt;order_by($sidx,$sord);
    $query = $this-&gt;db-&gt;get();

    return $query-&gt;result();
  }
</pre>
</blockquote>
<blockquote><p>Update lagi, bagi yang akan mengaktifkan fitur search, ada pada artikel <a href="http://dudu.web.id/2011/05/mengaktifkan-fitur-search-pada-jqrid-dan-codeigniter/">Berikut</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2010/11/tutorial-menggunakan-codeigniter-dan-jqgrid/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>CRUD sederhana dengan jquery, jqueryui, dan Codeigniter</title>
		<link>http://dudu.web.id/2010/11/crud-sederhana-dengan-jquery-jqueryui-dan-codeigniter/</link>
		<comments>http://dudu.web.id/2010/11/crud-sederhana-dengan-jquery-jqueryui-dan-codeigniter/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 08:12:43 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[Dialog]]></category>
		<category><![CDATA[Jqueryui]]></category>
		<category><![CDATA[Modal]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=340</guid>
		<description><![CDATA[CRUD adalah singkatan dari Create Read Update dan Delete. Setiap aplikasi biasanya kebanyakan memiliki fungsi CRUD di dalamnya. Fungsi ini digunakan untuk menyimpan / menambahkan data, kemudian mengedit data dan menghapus data. Kali ini saya akan coba memberikan contoh aplikasi CRUD sederhana, yang saya bangun menggunakan Codeigniter dan digabung dengan Jquery serta JQueryui. Apabila ada [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://codeigniter.com/user_guide/images/ci_logo_flame.jpg" alt="Codeigniter" /><br />
<a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete">CRUD</a> adalah singkatan dari Create Read Update dan Delete. Setiap aplikasi biasanya kebanyakan memiliki fungsi CRUD di dalamnya. Fungsi ini digunakan untuk menyimpan / menambahkan data, kemudian mengedit data dan menghapus data.</p>
<p>Kali ini saya akan coba memberikan contoh aplikasi CRUD sederhana, yang saya bangun menggunakan<a href="http://www.codeigniter.com"> Codeigniter</a> dan digabung dengan <a href="http://jquery.com">Jquery</a> serta<a href="http://jqueryui.com"> JQueryui.</a> Apabila ada yang bertanya apa itu Codeigniter, Jquery dan Jqueryui, silahkan googling dulu, atau juga dapat mencari pada artikel blog ini (mungkin ada mungkin juga tidak <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ). Sehingga saya anggap, kita sudah biasa menggunakan Codeigniter dan Jquery.<br />
<span id="more-340"></span><br />
Saya juga tidak akan menjelaskan config.php, kemudian database nya, karena saya anggap itu sudah Anda lakukan <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>OK, tanpa perlu berpanjang lebar, saya menggunakan Jqueryui library javascript yang merupakan bagian dari jquery yang di dalamnya banyak ditemukan fungsi-fungsi untuk penanganan interface. Contohnya adalah Dialog, Autocomplete, Drag and Drop, Sortable dan lain sebagainya.</p>
<p>Jqueryui saya gunakan untuk membuat form dialog. Fungsinya, ketika saya akan input data, maka akan muncul sebuah dialog yang berisi form inputan data, kemudian dengan ajax, data akan dimasukkan dalam tabel. Begitu juga dalam proses Edit dan Delete data. Untuk lebih jelasnya bisa di lihat di halaman <a href="http://dudu.web.id/ci_ku/index.php/daily">demo ini</a> <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Berikut script untuk controller yang saya gunakan</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class Daily extends Controller{
  function __construct (){
    parent::Controller();
    $this-&gt;load-&gt;model('MDaily');
  }

  function index(){
    $data['query'] = $this-&gt;MDaily-&gt;getAll();
    $this-&gt;load-&gt;view('daily/input',$data);
  }

  function submit(){
    if ($this-&gt;input-&gt;post('ajax')){
      if ($this-&gt;input-&gt;post('id')){
      	$this-&gt;MDaily-&gt;update();
      	$data['query'] = $this-&gt;MDaily-&gt;getAll();
      	$this-&gt;load-&gt;view('daily/show',$data);
      }else{
      	$this-&gt;MDaily-&gt;save();
      	$data['query'] = $this-&gt;MDaily-&gt;getAll();
      	$this-&gt;load-&gt;view('daily/show',$data);
      }
    }
  }

  function delete(){
    $id = $this-&gt;input-&gt;post('id');
    $this-&gt;db-&gt;delete('daily', array('id' =&gt; $id));
    $data['query'] = $this-&gt;MDaily-&gt;getAll();
    $this-&gt;load-&gt;view('daily/show',$data);
  }
}
</pre>
<p>Sedangkan Modelnya</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class MDaily extends Model{
  function __construct (){
    parent::Model();
  }

  function getAll(){
    $this-&gt;db-&gt;select('*');
    $this-&gt;db-&gt;from('daily');
    $this-&gt;db-&gt;limit(5);
    $this-&gt;db-&gt;order_by('id','ASC');
    $query = $this-&gt;db-&gt;get();

    return $query-&gt;result();
  }

  function get($id){
    $query = $this-&gt;db-&gt;getwhere('daily',array('id'=&gt;$id));
    return $query-&gt;row_array();
  }

  function save(){
    $date = $this-&gt;input-&gt;post('date');
    $name = $this-&gt;input-&gt;post('name');
    $amount=$this-&gt;input-&gt;post('amount');
    $data = array(
      'date'=&gt;$date,
      'name'=&gt;$name,
      'amount'=&gt;$amount
    );
    $this-&gt;db-&gt;insert('daily',$data);
  }

  function update(){
    $id   = $this-&gt;input-&gt;post('id');
    $date = $this-&gt;input-&gt;post('date');
    $name = $this-&gt;input-&gt;post('name');
    $amount=$this-&gt;input-&gt;post('amount');
    $data = array(
      'date'=&gt;$date,
      'name'=&gt;$name,
      'amount'=&gt;$amount
    );
    $this-&gt;db-&gt;where('id',$id);
    $this-&gt;db-&gt;update('daily',$data);
  }

}
</pre>
<p>Saya memiliki dua buah view yaitu input.php dan show.php yang scriptnya sebagai berikut.<br />
<strong>input.php</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE HTML&gt;
&lt;html lang=&quot;en-US&quot;&gt;
  &lt;head&gt;
    &lt;title&gt;Daily Notes&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
	&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/i18n/jquery-ui-i18n.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;style&gt;
		body { font-size: 75%; }
		label, input { display:block; }
		input.text { margin-bottom:12px; width:95%; padding: .4em; }
		h1 { font-size: 1.2em; margin: .6em 0; }
		a{text-decoration:none;}
		{font-size:60%};
	&lt;/style&gt;
	&lt;script&gt;
	$(function() {

		$( &quot;#dialog:ui-dialog&quot; ).dialog( &quot;destroy&quot; );

		$( &quot;#dialog-confirm&quot; ).dialog({
			autoOpen: false,
			resizable: false,
			height:140,
			modal: true,
			hide: 'Slide',
			buttons: {
				&quot;Delete&quot;: function() {
					var del_id = {id : $(&quot;#del_id&quot;).val()};
					$.ajax({
						type: &quot;POST&quot;,
						url : &quot;&lt;?php echo site_url('daily/delete')?&gt;&quot;,
						data: del_id,
						success: function(msg){
							$('#show').html(msg);
							$('#dialog-confirm' ).dialog( &quot;close&quot; );
							//$( &quot;.selector&quot; ).dialog( &quot;option&quot;, &quot;hide&quot;, 'slide' );
						}
				  	});

					},
				Cancel: function() {
					$( this ).dialog( &quot;close&quot; );
				}
			}
		});

		$( &quot;#form_input&quot; ).dialog({
			autoOpen: false,
			height: 300,
			width: 350,
			modal: false,
			hide: 'Slide',
			buttons: {
				&quot;Add&quot;: function() {
					var form_data = {
						id: $('#id').val(),
						date: $('#date').val(),
						name: $('#name').val(),
						amount: $('#amount').val(),
						ajax:1
				  	};

  					$('#date').attr(&quot;disabled&quot;,true);
					$('#name').attr(&quot;disabled&quot;,true);
					$('#amount').attr(&quot;disabled&quot;,true);

				  $.ajax({
					url : &quot;&lt;?php echo site_url('daily/submit')?&gt;&quot;,
					type : 'POST',
					data : form_data,
					success: function(msg){
					$('#show').html(msg),
					$('#date').val('&lt;?php echo date('Y-m-d'); ?&gt;'),
					$('#id').val(''),
					$('#name').val(''),
					$('#amount').val(''),
  					$('#date').attr(&quot;disabled&quot;,false);
					$('#name').attr(&quot;disabled&quot;,false);
					$('#amount').attr(&quot;disabled&quot;,false);
					$( '#form_input' ).dialog( &quot;close&quot; )
					}
				  });

			},
				Cancel: function() {
					$('#id').val(''),
					$('#name').val('');
					$('#amount').val('');
					$( this ).dialog( &quot;close&quot; );
				}
			},
			close: function() {
				$('#id').val(''),
				$('#name').val('');
				$('#amount').val('');
			}
		});

	$( &quot;#create-daily&quot; )
			.button()
			.click(function() {
				$( &quot;#form_input&quot; ).dialog( &quot;open&quot; );
			});
	});

	$(&quot;.edit&quot;).live(&quot;click&quot;,function(){
		var id = $(this).attr(&quot;id&quot;);
		var date = $(this).attr(&quot;date&quot;);
		var name = $(this).attr(&quot;name&quot;);
		var amount = $(this).attr(&quot;amount&quot;);

		$('#id').val(id);
        $('#date').val(date);
        $('#name').val(name);
        $('#amount').val(amount);

        $( &quot;#form_input&quot; ).dialog( &quot;open&quot; );

        return false;
	});

	$(&quot;.delbutton&quot;).live(&quot;click&quot;,function(){
    	var element = $(this);
    	var del_id = element.attr(&quot;id&quot;);
    	var info = 'id=' + del_id;
    	$('#del_id').val(del_id);
    	$( &quot;#dialog-confirm&quot; ).dialog( &quot;open&quot; );

    	return false;
 	});
	&lt;/script&gt;

  &lt;/head&gt;

  &lt;body&gt;
    &lt;div id=&quot;show&quot;&gt;
        &lt;?php $this-&gt;load-&gt;view('daily/show'); ?&gt;
    &lt;/div&gt;
    &lt;p&gt;
    	&lt;button id=&quot;create-daily&quot;&gt;Input New&lt;/button&gt;
	&lt;/p&gt;

&lt;div id=&quot;form_input&quot;&gt;
      &lt;table&gt;
        &lt;?php echo form_open('daily/submit'); ?&gt;
		&lt;input type=&quot;hidden&quot; value='' id=&quot;id&quot; name=&quot;id&quot;&gt;
        &lt;tr &gt;
            &lt;td&gt; &lt;?php echo form_label('Date : '); ?&gt;&lt;/td&gt;
            &lt;td&gt; &lt;?php echo form_input('date',date('Y-m-d'),'id=&quot;date&quot;'); ?&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;?php echo form_label('Name : ');?&gt; &lt;/td&gt;
            &lt;td&gt; &lt;?php echo form_input('name','','id=&quot;name&quot;'); ?&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;?php echo form_label('Amount : ');?&gt; &lt;/td&gt;
            &lt;td&gt; &lt;?php echo form_input('amount','','id=&quot;amount&quot;'); ?&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div id=&quot;dialog-confirm&quot; title=&quot;Delete Item ?&quot;&gt;
	&lt;p&gt;
		&lt;span class=&quot;ui-icon ui-icon-alert&quot; style=&quot;float:left; margin:0 7px 20px 0;&quot;&gt;&lt;/span&gt;
		&lt;input type=&quot;hidden&quot; value='' id=&quot;del_id&quot; name=&quot;del_id&quot;&gt;
		Are you sure?&lt;/p&gt;
&lt;/div&gt;

  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p><strong>show.php</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;h1&gt;Daily Notes&lt;/h1&gt;
&lt;table id=&quot;daily&quot; class=&quot;ui-widget ui-widget-content&quot; width=&quot;400px&quot;&gt;
 &lt;tr class=&quot;ui-widget-header &quot;&gt;
 &lt;th&gt;No&lt;/th&gt;
 &lt;th&gt;Date&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Amount&lt;/th&gt;
 &lt;th&gt;Edit&lt;/th&gt;
 &lt;th&gt;Delete&lt;/th&gt;
 &lt;/tr&gt;
 &lt;?
 $i=0;
 foreach ($query as $row){
 $i++;
 echo &quot;&lt;tr class=\&quot;record\&quot;&gt;&quot;;
 echo    &quot;&lt;td&gt;$i&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;date&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;name&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;amount&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;&lt;a href=\&quot;#\&quot; class=\&quot;edit\&quot; id=\&quot;$row-&gt;id\&quot; date=\&quot;$row-&gt;date\&quot; name=\&quot;$row-&gt;name\&quot; amount=\&quot;$row-&gt;amount\&quot;&gt;Edit&lt;/a&gt;&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;&lt;a class=\&quot;delbutton\&quot; id=\&quot;$row-&gt;id\&quot; href=\&quot;#\&quot; &gt;Delete&lt;/a&gt;&lt;/td&gt;&quot;;
 echo  &quot;&lt;/tr&gt;&quot;;
 }
 ?&gt;
&lt;/table&gt;
</pre>
<p>Ini adalah tutorial dasar, jadi masih banyak yang harus diperbaiki dan ditambahkan apabila Anda akan memakai script ini dalam aplilkasi Anda. Apabila ada yang mau menambahkan silahkan masukkan di kolom komentar <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  karena saya juga masih belajar.</p>
<p>Source code dapat ditemukan pada github saya di : <a href="http://github.com/dwijonarko/ci_ku">http://github.com/dwijonarko/ci_ku</a></p>
<p>Semoga berhasil <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2010/11/crud-sederhana-dengan-jquery-jqueryui-dan-codeigniter/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Codeigniter Dasar – Membuat Edit Data</title>
		<link>http://dudu.web.id/2010/07/codeigniter-dasar-%e2%80%93-membuat-edit-data/</link>
		<comments>http://dudu.web.id/2010/07/codeigniter-dasar-%e2%80%93-membuat-edit-data/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 05:19:07 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://dudu.web.id/?p=305</guid>
		<description><![CDATA[Sekali lagi Perhatian, ini hanya ditujukan kepada Newbie seperti saya, kalo yang sudah jago ya kayanya ga perlu lagi baca . Juga wajib mengikuti tuorial sebelumnya yaitu Codeigniter Dasar – Membuat Insert Data Codeigniter dasar – Menampilkan dan Menghapus Data Codeigniter Dasar – Belajar AJAX dengan JQuery Codeigniter Dasar – Menghapus data dengan Jquery Edit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dudu.web.id/wp-content/uploads/2010/07/edit.png"><img class="alignnone size-full wp-image-306" title="edit" src="http://dudu.web.id/wp-content/uploads/2010/07/edit.png" alt="" width="516" height="401" /></a></p>
<p>Sekali lagi Perhatian, ini hanya ditujukan kepada Newbie seperti saya, kalo yang sudah jago ya kayanya ga perlu lagi baca <img src='http://dudu.web.id/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Juga wajib mengikuti tuorial sebelumnya yaitu</p>
<ul>
<li><a href="http://dudu.web.id/2010/04/codeigniter-dasar-membuat-insert-data/" target="_blank">Codeigniter Dasar – Membuat Insert Data</a></li>
<li><a href="http://dudu.web.id/2010/04/codeigniter-dasar-menampilkan-dan-menghapus-data/" target="_blank">Codeigniter dasar – Menampilkan dan Menghapus Data</a></li>
<li><a href="hhttp://dudu.web.id/2010/04/codeigniter-dasar-belajar-ajax-dengan-jquery/" target="_blank">Codeigniter Dasar – Belajar AJAX dengan JQuery</a></li>
<li><a href="http://dudu.web.id/2010/04/codeigniter-dasar-menghapus-data-dengan-jquery/" target="_blank">Codeigniter Dasar – Menghapus data dengan Jquery</a></li>
</ul>
<p>Edit data, setelah beberapa waktu lalu selesai dengan memasukkan data dan menampilkan serta menghapus data, kemudian ada seseorang yg menanyakan tentang cara mengedit data.</p>
<p>Secara algoritma MVC nya, Edit data dilakukan dengan Memanggil fungsi edit pada controller, fungsi ini akan memanggil data yang akan di edit (menggunakan parameter id) melalui Model, kemudian data tersebut ditampilkan kedalam view. Setelah data tersebut di edit, kemudian memanggil fungsi submit pada controller untuk menentukan proses update data yg dilakukan pada model. Kemudian di redirect ke halaman index untuk melihat hasil data yg telah di edit tadi. Secara gambarannya seperti berikut :</p>
<p><a href="http://dudu.web.id/wp-content/uploads/2010/07/mvc.png"><img class="alignnone size-full wp-image-307" title="mvc" src="http://dudu.web.id/wp-content/uploads/2010/07/mvc.png" alt="" width="489" height="489" /></a></p>
<p>So, daripada bingung, langsung saja di praktekkan <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-305"></span></p>
<p>Pada file view.show.php ubah menjadi seperti di bawah ini</p>
<pre class="brush: php; title: ; notranslate">

&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
 $(&quot;.delbutton&quot;).click(function(){
 var element = $(this);
 var del_id = element.attr(&quot;id&quot;);
 var info = 'id=' + del_id;
 if(confirm(&quot;Anda yakin akan menghapus?&quot;)){
 $.ajax({
 type: &quot;POST&quot;,
 url : &quot;&lt;?php echo site_url('daily/delete')?&gt;&quot;,
 data: info,
 success: function(){
 }
 });

 $(this).parents(&quot;.record&quot;).animate({ opacity: &quot;hide&quot; }, &quot;slow&quot;);
 }

 return false;
 });

})
&lt;/script&gt;
&lt;b&gt;Daily Notes&lt;/b&gt;
&lt;table style=&quot;width:600px; border:1px solid;&quot;&gt;
 &lt;tr&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;No&lt;/th&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;Date&lt;/th&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;Name&lt;/th&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;Amount&lt;/th&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;Edit&lt;/th&gt;
 &lt;th style=&quot;border:1px solid;&quot;&gt;Delete&lt;/th&gt;
 &lt;/tr&gt;
 &lt;?
 $i=0;
 foreach ($query as $row){
 $i++;
 echo &quot;&lt;tr class=\&quot;record\&quot;&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;$i&lt;/td&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;$row-&gt;date&lt;/td&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;$row-&gt;name&lt;/td&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;$row-&gt;amount&lt;/td&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;&quot;.anchor(&quot;daily/edit/$row-&gt;id&quot;,'Edit').&quot;&lt;/td&gt;&quot;;
 echo    &quot;&lt;td style=\&quot;border:1px solid;\&quot;&gt;&lt;a class=\&quot;delbutton\&quot; id=\&quot;$row-&gt;id\&quot; href=\&quot;#\&quot; &gt;Delete&lt;/a&gt;&lt;/td&gt;&quot;;
 echo  &quot;&lt;/tr&gt;&quot;;
 }
 ?&gt;
&lt;/table&gt;
</pre>
<p>Buat controller fungsi edit pada controller daily</p>
<pre class="brush: php; title: ; notranslate">

function edit($id){
 $query          = $this-&gt;MDaily-&gt;get($id);
 $data['fid']    = $query['id'];
 $data['fdate']  = $query['date'];
 $data['fname']  = $query['name'];
 $data['famount']= $query['amount'];
 $this-&gt;load-&gt;view('daily/edit',$data);
 }
</pre>
<p>Kemudian pada Model buat fungsi get untuk mengambil data/ record yang akan di edit</p>
<pre class="brush: php; title: ; notranslate">

function get($id){
 $query = $this-&gt;db-&gt;getwhere('daily',array('id'=&gt;$id));
 return $query-&gt;row_array();
 }
</pre>
<p>Lanjutnya buat file edit.php pada direktory views/daily/edit.php</p>
<pre class="brush: php; title: ; notranslate">

&lt;!DOCTYPE HTML&gt;
&lt;html lang=&quot;en-US&quot;&gt;
 &lt;head&gt;
 &lt;title&gt;Daily Notes&lt;/title&gt;
 &lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;&lt;/script&gt;
 &lt;meta charset=&quot;UTF-8&quot;&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;h2 &gt;Daily Notes&lt;/h2&gt;
 &lt;div id=&quot;form_input&quot;&gt;
 &lt;table&gt;
 &lt;?php echo form_open('daily/submit'); ?&gt;
 &lt;?php echo form_hidden('id',$fid); ?&gt;
 &lt;tr&gt;
 &lt;td&gt; &lt;?php echo form_label('Date : '); ?&gt;&lt;/td&gt;
 &lt;td&gt; &lt;?php echo form_input('date',$fdate,'id=&quot;date&quot;'); ?&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt; &lt;?php echo form_label('Name : ');?&gt; &lt;/td&gt;
 &lt;td&gt; &lt;?php echo form_input('name',$fname,'id=&quot;name&quot;'); ?&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt; &lt;?php echo form_label('Amount : ');?&gt; &lt;/td&gt;
 &lt;td&gt; &lt;?php echo form_input('amount',$famount,'id=&quot;amount&quot;'); ?&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt; &lt;?php    echo form_submit('submit','Submit','id=&quot;submit&quot;'); echo form_close(); ?&gt; &lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;/div&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Ubah pada fungsi submit pada controller daily sehingga menjai seperti berikut :</p>
<pre class="brush: php; title: ; notranslate">

function submit(){
 if ($this-&gt;input-&gt;post('ajax')){
 $this-&gt;MDaily-&gt;save();
 $data['query'] = $this-&gt;MDaily-&gt;getAll();
 $this-&gt;load-&gt;view('daily/show',$data);
 }else{
 if ($this-&gt;input-&gt;post('submit')){
 if ($this-&gt;input-&gt;post('id')){
 $this-&gt;MDaily-&gt;update();
 redirect('daily/index');
 }else{
 $this-&gt;MDaily-&gt;save();
 redirect('daily/index');
 }
 }
 }
 }
</pre>
<p>Maksud dari kode di atas adalah, jika kita submit memiliki $id maka akan memanggil function update pada model, apabila $id masih kosong, maka akan menambahkan data,</p>
<p>Untuk model ditambahkan function update sebagai berikut :</p>
<pre class="brush: php; title: ; notranslate">
function update()
{
$id	 = $this-&gt;input-&gt;post('id');
$date = $this-&gt;input-&gt;post('date');
$name = $this-&gt;input-&gt;post('name');
$amount=$this-&gt;input-&gt;post('amount');
$data = array(
'date'=&gt;$date,
'name'=&gt;$name,
'amount'=&gt;$amount
);
$this-&gt;db-&gt;where('id', $id);
$this-&gt;db-&gt;update('daily',$data);
}
</pre>
<p>OK sekarang kita coba edit datanya..</p>
<p>Bagi yang belum paham bisa kirim komentar ya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  piss saya juga masih belajar..</p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2010/07/codeigniter-dasar-%e2%80%93-membuat-edit-data/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Codeigniter Dasar – Menghapus data dengan Jquery</title>
		<link>http://dudu.web.id/2010/04/codeigniter-dasar-menghapus-data-dengan-jquery/</link>
		<comments>http://dudu.web.id/2010/04/codeigniter-dasar-menghapus-data-dengan-jquery/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 09:55:19 +0000</pubDate>
		<dc:creator>dudu</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[Edit]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.dudu.web.id/?p=209</guid>
		<description><![CDATA[Untuk menghapus data menggunakan Ajax dengan Jquery, sebenarnya tidk terlalu sulit. Dengan menggunakan data yang terdahulu pernah kita buat. Kita mempunyai 2 view yaitu show.php dan input.php. Ubah show.php untuk meletakkan fungsi Jquery yang digunakan untuk mengirim data secara Ajax dan memanggil Controller untuk menghapus data. Kemudian Jquery akan menghilangkan baris dengan triger class pada [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dudu.web.id/wp-content/uploads/2010/04/jquery.png"><img class="aligncenter size-full wp-image-210" title="jquery" src="http://www.dudu.web.id/wp-content/uploads/2010/04/jquery.png" alt="" width="450" height="300" /></a><br />
Untuk menghapus data menggunakan Ajax dengan Jquery, sebenarnya tidk terlalu sulit. Dengan menggunakan data yang terdahulu pernah kita buat. Kita mempunyai 2 view yaitu show.php dan input.php. Ubah show.php untuk meletakkan fungsi Jquery yang digunakan untuk mengirim data secara Ajax dan memanggil Controller untuk menghapus data. Kemudian Jquery akan menghilangkan baris dengan triger class pada barisnya dengan fungsi animate. Ah terlalu bertele-tele hahahaha bikin ribet, padahal dalam codingnya tidak terlalu banyak perubahan.<br />
<span id="more-209"></span><br />
Tambahkan script berikut pada view show.php pada aplikasi ci_ku yang kita buat sebelumnya <img src='http://dudu.web.id/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , sehingga show.php akan menjadi seperti berikut :</p>
<pre class="brush: php; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {

 $(&quot;.delbutton&quot;).click(function(){

 //Save the link in a variable called element
 var element = $(this);

 //Find the id of the link that was clicked
 var del_id = element.attr(&quot;id&quot;);

 //Built a url to send
 var info = 'id=' + del_id;
 if(confirm(&quot;Anda yakin akan menghapus?&quot;))
 {
 $.ajax({
 type: &quot;POST&quot;,
 url : &quot;&lt;?php echo site_url('daily/delete')?&gt;&quot;,
 data: info,
 success: function(){
 }
 });

 $(this).parents(&quot;.record&quot;).animate({ opacity: &quot;hide&quot; }, &quot;slow&quot;);

 }

 return false;

 });

})
&lt;/script&gt;
&lt;b&gt;Daily Notes&lt;/b&gt;
&lt;table border=&quot;1&quot;&gt;
 &lt;tr&gt;
 &lt;th&gt;No&lt;/th&gt;
 &lt;th&gt;Date&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Amount&lt;/th&gt;
 &lt;th&gt;Delete&lt;/th&gt;
 &lt;/tr&gt;
 &lt;?
 $i=0;
 foreach ($query as $row){
 $i++;
 echo &quot;&lt;tr class=\&quot;record\&quot;&gt;&quot;;
 echo    &quot;&lt;td&gt;$i&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;date&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;name&lt;/td&gt;&quot;;
 echo    &quot;&lt;td&gt;$row-&gt;amount&lt;/td&gt;&quot;;
 echo      &quot;&lt;td&gt;&lt;a class=\&quot;delbutton\&quot; id=\&quot;$row-&gt;id\&quot; href=\&quot;#\&quot; &gt;Delete&lt;/a&gt;&lt;/td&gt;&quot;;
 echo  &quot;&lt;/tr&gt;&quot;;
 }
 ?&gt;
&lt;/table&gt;
</pre>
<p>Perhatikan pada baris ke 53 yaitu pada bagian menampilkan link delete, tampak seperti di atas</p>
<pre class="brush: php; title: ; notranslate">
echo &quot;&lt;td&gt;&lt;a class=\&quot;delbutton\&quot; id=\&quot;$row-&gt;id\&quot;  href=\&quot;#\&quot; &gt;Delete&lt;/a&gt;&lt;/td&gt;&quot;;</pre>
<p>Script javascript di ataslah (baris 133) yang digunakan Jquery untuk mengirimkan data ke controller daily dan menjalankan fungsi delete. Kemudian ubah link delete (baris 53), tambahkan id sebagai data yang akan dihapus dan class delbutton sebagai triger pada Jquery untuk menjalankan fungsi hapus ini.<br />
Jangan lupa ubah controller daily pada fungsi delete menjadi seperti dibawah ini :</p>
<pre class="brush: php; title: ; notranslate">
function delete()
 {
 $id = $this-&gt;input-&gt;post('id');
 $this-&gt;db-&gt;delete('daily', array('id' =&gt; $id));
 }
</pre>
<p>Selesai.. Saya ingin membuat halaman demonya, tetapi belum sempat. Kalo mau download source lengkapnya silahkan ambil di <a href="http://www.dudu.web.id/downloads/ci_ku.zip">sini</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dudu.web.id/2010/04/codeigniter-dasar-menghapus-data-dengan-jquery/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

