Ide awal dari artikel ini adalah ketika melihat halaman admin pada CMS Joomla. Pada halaman daftar artikel kita melihat sebuah halaman dengan daftar artikel yang sudah pernah dituliska. Pada bagian bawah terdapat combo yang berfungsi untuk menampilkan limit dari daftar artikel yang ditampilkan. Untuk itulah saya disini mencoba untuk mempraktekkannya walaupun hasilnya tentu saja jauh jika dibandingkan dengan kepunyaan joomla tersebut.
Pada dasarnya teknik yang digunakan adalah sederhana, yaitu bagaimana membuat sebuah submit tapi tanpa tombol submit. Wah, bagaimana caranya? Caranya gampang, dengan menambahkan source code seperti di bawah ini:
<br />
$bil = array(<br />
'2' =&gt; '2',<br />
'5' =&gt; '5'<br />
);<br />
$pbil = 'id=&quot;bil&quot; OnChange=&quot;this.form.submit()&quot;';<br />
echo form_dropdown('bil',$bil,$limit,$pbil);<br />
Untuk tujuan fungsi Controller mana yang dituju tergantung dari action form yang dimasukkan. Pada contoh yang saya gunakan, action form ditujukan ke alamat “pagination/submit”. Kemudian pada submit form saya masukkan:
<br />
function submit()<br />
{<br />
$limit = $this-&gt;input-&gt;post('bil');<br />
redirect('pagination/display/'.$limit);<br />
}<br />
Fungsi submit tersebut akan me-redirect kembali ke halaman daftar dengan membawa variabel limit yang digunakan untuk mengatur limit dari artikel yang akan ditampilkan. Sedangkan untuk menampilkannya:
<br />
public function display($limit = 5, $sort_by = 'title', $sort_order = 'asc', $offset = 0)<br />
{<br />
$this-&gt;load-&gt;helper('form');</p>
<p>$limit = $limit;<br />
$data['fields'] = array(<br />
'id_pelanggan' =&gt; 'ID',<br />
'pelanggan' =&gt; 'Pelanggan',<br />
'tgl_pelanggan' =&gt; 'Tanggal'<br />
);</p>
<p>$results = $this-&gt;mpagination-&gt;search($limit, $offset, $sort_by, $sort_order);</p>
<p>$data['films'] = $results['rows'];<br />
$data['num_results'] = $results['num_rows'];</p>
<p>$this-&gt;load-&gt;library('page');</p>
<p>$total_page = $data['num_results'];<br />
$per_page = $limit;<br />
$url = &quot;pagination/display/$limit/$sort_by/$sort_order&quot;;<br />
$data['pagination'] = $this-&gt;page-&gt;getPagination($total_page,$per_page,$url,$uri=6);</p>
<p>$data['limit'] = $limit;<br />
$data['sort_by'] = $sort_by;<br />
$data['sort_order'] = $sort_order;</p>
<p>$this-&gt;load-&gt;view('pagination', $data);<br />
}<br />
Perlu dipahami sebelumnya bagaimana membuat sebuah fungsi dengan parameter yang sifatnya optional. Untuk seterusnya, jadilah sebuah tampilan daftar artikel dengan limit yang dinamis. Untuk source lengkapnya dapat didowload disini. Semoga bermanfaat.