<?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>ajax Archives - Mr Agus</title>
	<atom:link href="https://mragus.com/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>https://mragus.com/tag/ajax/</link>
	<description>Read, Learn and Share Ilmu yang Bermanfaat</description>
	<lastBuildDate>Wed, 30 Aug 2017 08:28:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.2</generator>

<image>
	<url>https://mragus.com/wp-content/uploads/2017/07/Fav-icon-untuk-mragus.com_-150x150.png</url>
	<title>ajax Archives - Mr Agus</title>
	<link>https://mragus.com/tag/ajax/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</title>
		<link>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/</link>
					<comments>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Wed, 30 Aug 2017 06:09:45 +0000</pubDate>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[DataTables]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ServerSideProcessing]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3071</guid>

					<description><![CDATA[<p>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql. Assalamualaikum wr wb, pada tutorial kali ini saya akan membahas mengenai cara menggunakan DataTables dengan serverside processing. Untuk pengenalan, pertama-tama saya akan menjelaskan apa itu DataTables. DataTables merupakan plugin yang dibuat&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Tutorial Menggunakan DataTables dengan <em>Serverside Processing</em> PHP dan MySql. </strong>Assalamualaikum wr wb, pada tutorial kali ini saya akan membahas mengenai cara menggunakan DataTables dengan <em>serverside processing</em>. Untuk pengenalan, pertama-tama saya akan menjelaskan apa itu DataTables. DataTables merupakan plugin yang dibuat dengan menggunakan JQuery untuk <span id="more-3071"></span>menampilkan data dalam bentuk tabel yang memiliki fitur cukup lengkap dan terintegrasi dengan pagination, pencarian data dan sorting kolom.</p>
<p>Sesuai dengan judul artikel ini, kenapa harus menggunakan <em>Serverside Processing? </em>DataTables ternyata menyediakan fitur dimana kita bisa mendapatkan <em>data collection </em>dengan menggunakan Ajax. Lalu keuntungan apa yang bisa kita dapatkan? Dengan menggunakan metode ini, aplikasi yang memiliki cukup banyak data, akan terasa ringan ketika di load. Kenapa hal ini bisa terjadi, karena data tidak akan di load sekaligus. Data akan diambil sedikit demi sedikit melalui Ajax sesuai dengan request yang diminta.</p>
<h2>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</h2>
<p>Pada tutorial ini, saya menggunakan DataTables versi 1.10.15. Anda bisa mendownload-nya dari Situs resminya disini <a href="https://datatables.net/">https://datatables.net/</a>. Setelah di download, kita siapkan environmentnya dengan memanggil <em>assets</em> DataTables dan taruh di layout. Berikut contoh pemasangan asset DataTables di aplikasi yang saya buat.</p>
<div id="attachment_3076" style="width: 290px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3076" decoding="async" class=" wp-image-3076" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="280" height="324" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175.png 459w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175-259x300.png 259w" sizes="(max-width: 280px) 100vw, 280px" /><p id="caption-attachment-3076" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Kemudian sesuaikan pemasangan assets sesuai dengan lokasinya. Untuk DataTables versi 1.10.15, minimal JQuerynya adalah versi 1.7 .</p>
<div id="attachment_3078" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3078" decoding="async" loading="lazy" class="wp-image-3078" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="520" height="117" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1.png 1174w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-300x67.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-768x173.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-1024x230.png 1024w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-3078" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<div id="attachment_3079" style="width: 532px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3079" decoding="async" loading="lazy" class=" wp-image-3079" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="522" height="114" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177.png 1210w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-300x65.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-768x168.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-1024x223.png 1024w" sizes="(max-width: 522px) 100vw, 522px" /><p id="caption-attachment-3079" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Untuk tabel yang saya gunakan adalah tabel <strong><em>authors</em></strong> dengan struktur sebagai berikut.</p>
<pre class="lang:mysql decode:true">+------------+--------------+------+-----+-------------------+----------------+
| Field      | Type         | Null | Key | Default           | Extra          |
+------------+--------------+------+-----+-------------------+----------------+
| id         | int(11)      | NO   | PRI | NULL              | auto_increment |
| first_name | varchar(50)  | NO   |     | NULL              |                |
| last_name  | varchar(50)  | NO   |     | NULL              |                |
| email      | varchar(100) | NO   | UNI | NULL              |                |
| birthdate  | date         | NO   |     | NULL              |                |
| added      | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+------------+--------------+------+-----+-------------------+----------------+
6 rows in set (0,00 sec)
</pre>
<h3>Ngoding</h3>
<p>Setelah setting assets dan tabel selesai, kita buat file untuk menampilkan tabel dengan menggunakan DataTables. Saya membuat file dengan nama <strong>datatables.php</strong>, berikut adalah scriptnya.</p>
<pre class="lang:default decode:true">&lt;table id="tabelAuthor" class="table table-bordered table-hover"&gt;
    &lt;thead&gt;
        &lt;tr&gt;
	    &lt;th&gt;Nama Awal&lt;/th&gt;
	    &lt;th&gt;Nama Akhir&lt;/th&gt;
	    &lt;th&gt;Email&lt;/th&gt;
	    &lt;th&gt;Tgl. Lahir&lt;/th&gt;
	    &lt;th&gt;Action&lt;/th&gt;
	&lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
	&lt;tr&gt;
	    &lt;td&gt;Nama Awal&lt;/td&gt;
	    &lt;td&gt;Nama Akhir&lt;/td&gt;
	    &lt;td&gt;Email&lt;/td&gt;
	    &lt;td&gt;Tgl. Lahir&lt;/td&gt;
	    &lt;td&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</pre>
<p><strong>Perhatikan</strong> format penulisan tag tabel, harus menggunakan <em>thead</em> dan <em>tbody.</em> Pastikan <em>id</em> di tabel yang di buat, sama dengan inisialisasi <em>id</em> pada javascript<em>. </em>Setelah script HTML selesai, kita buat javascript untuk menginisialisasi DataTables dengan contoh sebagai berikut.</p>
<pre class="lang:js decode:true">&lt;script type="text/javascript"&gt;
	$(document).ready(function() {
	    var table = $('#tabelAuthor').DataTable( { 
	        "processing": true,
	        "serverSide": true,
	        "ajax": "action/dataTables.php",
	        "columnDefs": [ {
	            "targets": -1,
	            "data": null,
	            "defaultContent": "&lt;button class='btn btn-success btn-xs tblEdit'&gt;Edit / Delete&lt;/button&gt;"
	        }]
	    });

	    $('#tabelAuthor tbody').on( 'click', '.tblEdit', function () {
	        var data = table.row( $(this).parents('tr') ).data();
	        window.location.href = "edit.php?id="+ data[4];
	    } );
	});
&lt;/script&gt;</pre>
<p>Saya tambahkan satu tombol dummy, yang bisa kita gunakan untuk action delete atau update record data. Pada javasript di atas, request ajax akan di arahkah ke file dataTables.php yang bertugas menghandle serverside processing. Berikut adalah script untuk <strong>dataTables.php </strong>.</p>
<pre class="lang:php decode:true">&lt;?php
$table = 'authors';
$primaryKey = 'id';

$columns = array(
    array( 'db' =&gt; 'first_name','dt' =&gt; 0 ),
    array( 'db' =&gt; 'last_name','dt' =&gt; 1 ),
    array( 'db' =&gt; 'email','dt' =&gt; 2 ),
    array( 'db' =&gt; 'birthdate', 'dt' =&gt; 3 ),
    array( 'db' =&gt; 'id', 'dt' =&gt; 4 ),
);
 
$sql_details = array(
    'user' =&gt; 'root',
    'pass' =&gt; 'agusbiji',
    'db'   =&gt; 'blog',
    'host' =&gt; 'localhost'
);
require('ssp.class.php');

echo json_encode(
    SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);</pre>
<p>Penjelasan :</p>
<ol>
<li>Variabel $table untuk mendefinisikan nama tabel.</li>
<li>Variabel $primaryKey untuk mendefinisikan primary key pada tabel yang digunakan.</li>
<li>Variabel $columns untuk mendefinisikan kolom apa saja yang akan di tampilkan pada datatables dengan <em>key db </em>untuk nama kolom dan <em>key dt </em>untuk index.</li>
<li>Variabel  $sql_details untuk mendefinisikan konfigurasi database.</li>
<li>require(&#8216;ssp.class.php&#8217;) sebagai class yang di gunakan untuk mengolah data kembalian. File ini sudah sepaket dengan <em>archieve</em> yang kita download bersama <em>assets datatables</em>. Pada aplikasi yang saya buat, file <strong>ssp.class.php</strong> lokasinya saya pasang di tempat yang sama dengan <strong>dataTables.php .</strong></li>
</ol>
<h3>Uji Coba</h3>
<p>Setelah tahap kodingan, selanjutnya kita uji coba apakah berjalan sesuai dengan yang diinginkan. Berikut adalah tampilan awal untuk tabel yang sudah dipasangi DataTables.</p>
<div id="attachment_3087" style="width: 597px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3087" decoding="async" loading="lazy" class="wp-image-3087" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="587" height="326" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178.png 1443w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-300x166.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-768x426.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-1024x568.png 1024w" sizes="(max-width: 587px) 100vw, 587px" /><p id="caption-attachment-3087" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Kemudian kita cek melalui debugger, apakah pengambilan data sudah menggunakan ajax.</p>
<div id="attachment_3088" style="width: 578px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3088" decoding="async" loading="lazy" class="wp-image-3088" src="https://mragus.com/wp-content/uploads/2017/08/Peek-2017-08-30-13-02.gif" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="568" height="295" /><p id="caption-attachment-3088" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<div id="attachment_3089" style="width: 581px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3089" decoding="async" loading="lazy" class="wp-image-3089" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="571" height="119" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179.png 1110w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-300x62.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-768x160.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-1024x213.png 1024w" sizes="(max-width: 571px) 100vw, 571px" /><p id="caption-attachment-3089" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Untuk fitur pencarian, pagination, dan sorting di datatables akan berjalan menggunakan ajax juga. Jika anda belum jelas, bisa lihat source code nya disini <a href="https://mragus.com/source-code/">https://mragus.com/source-code/</a>. Sekian tutorial saya ini, semoga bermanfaat. Selamat mencoba. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Dropdown Select2 dengan Request Ajax dan Php</title>
		<link>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/</link>
					<comments>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 08:39:32 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[select2]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2730</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan pembahasan mengenai cara membuat dropdown select2 dengan request ajax dan php. Select2 merupakan salah satu plugin yang banyak digunakan pada form, sebagai pengganti dropdown select di aplikasi web. Select2&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/">Membuat Dropdown Select2 dengan Request Ajax dan Php</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan pembahasan mengenai cara membuat dropdown select2 dengan request ajax dan php. Select2 merupakan salah satu plugin yang banyak digunakan pada form, sebagai pengganti dropdown select di aplikasi web. Select2 memberikan kemudahan kepada user, karena <span id="more-2730"></span>kita bisa memilih data dengan memasukkan pencarian pada dropdown tersebut. Fitur ini sangatlah membantu karena kita tidak perlu menscroll dan memilih data ketika sumber data jumlah nya cukup banyak.</p>
<p>Sesuai dari judul artikel ini, kenapa menggunakan request ajax. Secara normal kita bisa mendefinisikan terlebih dahulu sumber data yang akan dipasangkan pada select2 tersebut, untuk jumlah data yang sedikit tidak masalah. Tetapi bagaimana jika data yang akan dipasang berjumlah ribuan, atau puluhan ribu. Hal ini tentu akan membuat load halaman pada lokasi di select2 tersebut akan sangat berat. Jika kita menggunakan ajax, client akan mengirimkan sebuah request pada fungsi yang digunakan untuk memanggil sumber data disaat user melakukan pencarian di select2 tersebut. Hal ini tentunya akan membuat halaman yang di load  dan menjadi lebih ringan.</p>
<h2></h2>
<div id="attachment_2736" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2736" decoding="async" loading="lazy" class="wp-image-2736" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="520" height="220" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138.png 1865w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-300x127.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-768x325.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-1024x433.png 1024w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-2736" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<h2>Membuat Dropdown Select2 dengan Request Ajax dan Php</h2>
<p>Langsung saja kita mulai untuk pengkodingannya, pertama tama kita download terlebih dahulu plugin select2 dari website resminya <a href="https://select2.github.io/">disini</a>. Select2 yang saya gunakan adalah versi 4.0.3. Pasangkan javascript dan css pada layouts aplikasi kita.</p>
<div id="attachment_2737" style="width: 534px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2737" decoding="async" loading="lazy" class="wp-image-2737" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="524" height="47" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142.png 1223w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-300x27.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-768x68.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-1024x91.png 1024w" sizes="(max-width: 524px) 100vw, 524px" /><p id="caption-attachment-2737" class="wp-caption-text">Memasang javascript Select2 pada layout</p></div>
<div id="attachment_2738" style="width: 531px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2738" decoding="async" loading="lazy" class="wp-image-2738" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="521" height="77" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141.png 1239w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-300x44.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-768x113.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-1024x150.png 1024w" sizes="(max-width: 521px) 100vw, 521px" /><p id="caption-attachment-2738" class="wp-caption-text">Memasang css select2 pada layout</p></div>
<p>Struktur tabel yang saya gunakan <strong>tb_propinisi</strong>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">+--------------+-------------+------+-----+---------+-----------------------------+
| Field        | Type        | Null | Key | Default | Extra                       |
+--------------+-------------+------+-----+---------+-----------------------------+
| propinsi_id  | int(11)     | NO   | PRI | NULL    | auto_increment              |
| nama         | varchar(45) | NO   |     | NULL    |                             |
| dalam_negeri | tinyint(4)  | YES  |     | NULL    |                             |
| created_at   | datetime    | YES  |     | NULL    | on update CURRENT_TIMESTAMP |
| updated_at   | datetime    | YES  |     | NULL    |                             |
+--------------+-------------+------+-----+---------+-----------------------------+</pre>
<p>Kemudian kita buat sebuah form yang berisi dropdown, serta javascript yang digunakan untuk menginisialisasi select2 dengan request ajax. Option yang saya gunakan pada plugin select2 tersebut :</p>
<ol>
<li>Saya memberikan delay, sehingga request akan berjalan setelah 0.8 ms.</li>
<li>Minimum huruf yang harus di input adalah 3 huruf.</li>
<li>Saya tambahkan tombol untuk clear value pada select2 ini.</li>
</ol>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;script type="text/javascript"&gt;
    $(function(){
       $('.select2').select2({
           minimumInputLength: 3,
           allowClear: true,
           placeholder: 'masukkan nama propinsi',
           ajax: {
              dataType: 'json',
              url: 'action/daftarProvinsi.php',
              delay: 800,
              data: function(params) {
                return {
                  search: params.term
                }
              },
              processResults: function (data, page) {
              return {
                results: data
              };
            },
          }
      }).on('select2:select', function (evt) {
         var data = $(".select2 option:selected").text();
         alert("Data yang dipilih adalah "+data);
      });
 });
&lt;/script&gt;
&lt;div class="row"&gt;
 &lt;div class="col-lg-4"&gt;
  &lt;form class="form-group"&gt;
   &lt;label&gt;Contoh Select2 Ajax&lt;/label&gt;
   &lt;select name="kabupaten" class="form-control select2"&gt;
    &lt;option value=""&gt;- pilih kabupaten -&lt;/option&gt;
   &lt;/select&gt;
  &lt;/form&gt;
 &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Sehingga tampilannya adalah sebagai berikut.</p>
<div id="attachment_2740" style="width: 608px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2740" decoding="async" loading="lazy" class="wp-image-2740" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="598" height="210" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143.png 1036w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-300x105.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-768x270.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-1024x360.png 1024w" sizes="(max-width: 598px) 100vw, 598px" /><p id="caption-attachment-2740" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<p>Buat file koneksi dengan menggunakan mysqli <strong>koneksi.php</strong>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
$connect = mysqli_connect('localhost','root','agusbiji','blog');
?&gt;</pre>
<p>Kemudian buat sebuah file php dengan nama <strong>daftarProvinsi.php</strong> yang berisi fungsi untuk menampilkan data daftar propinsi dari database. Berikut adalah contoh scriptnya.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">&lt;?php
if($_SERVER['REQUEST_METHOD']=="GET"){
 require '../core/koneksi.php';
 daftarPropinsi($_GET['search']);
}

function daftarPropinsi($search){
 global $connect;

 if ($connect-&gt;connect_error) {
     die("Koneksi Gagal: " . $conn-&gt;connect_error);
 }

 $sql = "SELECT * FROM tb_propinsi WHERE nama LIKE '%$search%' AND dalam_negeri=1 ORDER BY nama ASC";
 $result = $connect-&gt;query($sql);

 if ($result-&gt;num_rows &gt; 0) {
     $list = array();
     $key=0;
     while($row = $result-&gt;fetch_assoc()) {
         $list[$key]['id'] = $row['propinsi_id'];
         $list[$key]['text'] = $row['nama']; 
     	$key++;
     }
     echo json_encode($list);
 } else {
     echo "hasil kosong";
 }
 $connect-&gt;close();
}

?&gt;</pre>
<p>Seperti yang bisa dilihat di atas, data yang akan kita kirimkan berupa array dengan key name <strong>id</strong> dan <strong>text, </strong>keyname ini sudah ditentukan di website resmi select2.</p>
<h2>Testing Kode Select2</h2>
<p>Setelah semua file sudah sesuai, kita coba untuk mengetes form tersebut. Saya akan memasukkan beberapa kata kunci pada pencarian di select2 ini. Dan Secara otomatis select2 akan menampilkan beberapa data yang relevan dengan kata kunci yang saya masukkan.</p>
<div id="attachment_2748" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2748" decoding="async" loading="lazy" class="wp-image-2748" src="https://mragus.com/wp-content/uploads/2017/08/Peek-2017-08-03-16-04.gif" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="600" height="299" /><p id="caption-attachment-2748" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<div id="attachment_2749" style="width: 609px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2749" decoding="async" loading="lazy" class="wp-image-2749" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="599" height="137" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144.png 1418w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-300x68.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-768x175.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-1024x233.png 1024w" sizes="(max-width: 599px) 100vw, 599px" /><p id="caption-attachment-2749" class="wp-caption-text">Request Header</p></div>
<p>Kita juga bisa melihat request yang berjalan pada debugger.</p>
<div id="attachment_2750" style="width: 612px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2750" decoding="async" loading="lazy" class="wp-image-2750" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="602" height="136" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145.png 1419w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-300x68.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-768x174.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-1024x232.png 1024w" sizes="(max-width: 602px) 100vw, 602px" /><p id="caption-attachment-2750" class="wp-caption-text">Response</p></div>
<p>Mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , metode ini akan membuat load data pada form select2 menjadi lebih ringan untuk jumlah data yang banyak. Jika agan-agan membutuhkan source code, bisa cek link berikut <a href="https://mragus.com/source-code/">https://mragus.com/source-code/</a>. Semoga Tulisan saya ini dapat bermanfaat, <em>tetap belajar dan selamat mencoba</em>. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/">Membuat Dropdown Select2 dengan Request Ajax dan Php</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
