php tutorial in youtube,php tutorial intermediate,sql i php tutorial,tutorial php javascript mysql,tutorial php json,tutorial php jquery,tutorial php javascript,tutorial php jwt,tutorial php jquery ajax,tutorial php java bridge,tutorial json php mysql,tutorial jenkins php,tutorial jquery php mysql,tutorial koneksi php mysql,tutorial koneksi php,tutorial coding php,calendar php tutorial,tutorial koneksi php ke mysql,tutorial koneksi php ke database mysql,php klein tutorial,php kafka tutorial,kumpulan tutorial php,tutorial cara membuat koneksi php dengan database mysql,k php tutorial,tutorial php login,tutorial php lengkap bahasa pemrograman php belajar php pdf,tutorial php laravel,tutorial php login session,tutorial php login & registration,tutorial php linux,tutorial php lengkap untuk pemula,tutorial php lengkap bahasa indonesia,tutorial php login system,tutorial php membuat website,tutorial php mysql bahasa indonesia pdf,tutorial php mvc,my php tutorial,php and mysql tutorial pdf,phpmyadmin database tutorial,phpmyadmin tutorial pdf,tutorial menggunakan phpmyadmin,mysql phpmyadmin tutorial,tutorial php netbeans,tutorial php namespace,tutorial php.net,tutorial php notepad++,tutorial php netbeans pdf,tutorial php nusoap,tutorial php netbeans español,tutorial nginx php,php mysqli tutorial,tutorial php online,tutorial php object oriented programming,php oop tutorial,tutorial php oracle,tutorial php oop pdf,tutorial php oop mvc,tutorial php oop programming,tutorial php oop crud,tutorial php online shop,tutorial php pemula,tutorial php pdo,tutorial php pdf bahasa indonesia,tutorial php pdo indonesia,tutorial php postgresql,tutorial php programming,tutorial php project,tutorial php postgresql pdf,tutorial php query mysql,php tutorial quiz,php tutorial quick,php tutorial query,php qt tutorial,php barcode tutorial,php tutorial quora,php tutorial questions and answers,php tutorial quakenet,php tutorial query database,tutorial php rest api,tutorial php report maker,tutorial php runner,tutorial php redis,tutorial php report maker pdf,tutorial php register,tutorial php regular expression,tutorial republic php,tutorial regex php,php tutorial restful web services,php-r tutorial,tutorial php source code aplikasi pemesanan tiket bus online - gratis,tutorial php socket,tutorial php switch,tutorial php soap,tutorial php storm,tutorial php sql,tutorial php symfony,tutorial php session,tutorial php sqlite,tutorial php to pdf,tutorial php telegram bot,tutorial php to excel,php tutorial tutorialspoint pdf,tutorial twig php,php tutorial tizag,php tutorial template,tutorial to php,php tutorial to send email,phpunit test tutorial,tutorial php untuk pemula,tutorial php unit,tutorial php unit testing phpunit laravel,tutorial php upload file,tutorial php ubuntu,tutorial php upload image,tutorial php untuk membuat website,tutorial php update insert delete and search,php tutorial udemy,tutorial php video,tutorial php validation form,php tutorial video free download,php tutorial video download,php tutorial video youtube,php tutorial variables,php tutorial visual studio,best php tutorial videos,best php tutorial video,php varnish tutorial,tutorial php w3schools,tutorial php wordpress,tutorial php website,tutorial php web service,tutorial php websocket,tutorial php web application,tutorial php with mysql,tutorial php windows,tutorial php website template,tutorial php with xampp,kalendarz w php tutorial,tworzenie stron w php tutorial,tutorial php xml,tutorial php xampp pdf,tutorial xampp php mysql,tutorial xpath php,tutorial xdebug php,tutorial php mysql xampp pdf,php xml reader tutorial,php xmlwriter tutorial,tutorial php youtube,tutorial php yii,youtube tutorial php,tutorial php y mysql,tutorial php y mysql pdf,tutorial php y mysql completo,tutorial php ya,php tutorial youtube video,php tutorial secure your login form using tokens,oop php tutorial youtube,mysql y php tutorial,tutorial php y mysqli,tutorial php y mysql netbeans,html5 y php tutorial,tutorial php y html,tutorial php y postgresql pdf,tutorial php y mysql youtube,tutorial php y mysql español,tutorial php zend framework,php tutorial zend,php tutorial zip,php ziparchive tutorial,php zlib tutorial,php tutorial za pocetnike,php tutorial using zend framework,php zeromq tutorial,php zend tutorial pdf,php zeiterfassung tutorial,a to z php tutorial,php 000webhost tutorial,tutorial php desde 0,php tutorial 101,tutorial belajar php part 1,php tutorial 1,cakephp 1.3 tutorial,tutorial php 2018,tutorial php 2017,tutorial phpmaker 2018,php tutorial 2018,php tutorial 2017 pdf,php tutorial 2016,php tutorial 2,cakephp 2.x tutorial,best php tutorial 2017,doctrine 2 php tutorial,oauth2 php tutorial,angular 2 tutorial php,angularjs 2 tutorial php,magento 2 php tutorial,php symfony2 tutorial,ionic 2 php tutorial,2 dimensional array php tutorial,phpdocumentor 2 tutorial,2 factor authentication php tutorial,tutorial cakephp 3,php tutorial 3school,php tutorial 3w,php 3 tutorial,slim 3 php tutorial,sqlite3 php tutorial,openshift 3 php tutorial,aptana studio 3 tutorial php,symfony 3 php tutorial,symphony 3 php tutorial,aptana studio 3 tutorial php pdf,sublime text 3 tutorial php,php tutorial 4,angular 4 tutorial php,psr-4 php tutorial,symfony 4 php tutorial,symphony 4 php tutorial,php 4 tutorial,phpunit 4 tutorial,tutorial php 5.6,php5 tutorial pdf,tutorial php 5.5,tutorial php 5.5 pdf,php 5.6 tutorial pdf,php5 tutorial point,php5 tutorial pdf download,php 5.3 tutorial,php 5.3 tutorial pdf,php5 tutorial - w3schools,laravel 5 phpunit tutorial,laravel 5 php tutorial,php 5 tutorial,angular 5 php tutorial,phpunit 5 tutorial,facebook sdk 5 php tutorial,php 6 tutorial pdf,phpmailer 6 tutorial,php 6 tutorial,phpunit 6 tutorial,tutorial #6 esp8266 - mysql + php en servidor local,tutorial php 7 bahasa indonesia pdf,tutorial php 7 mysql,tutorial php 7.0,tutorial php 7 español,tutorial crud php 7,tutorial point php 7,tutorial belajar php 7,php 7 tutorial w3schools,psr-7 tutorial php,php 7 tutorial,php 7 tutorial pdf,php 7 tutorial point,php 7 tutorial mysql,php 8 tutorial,tutorial phprunner 8,drupal 8 phpunit tutorial,drupal 8 php tutorial,dreamweaver 8 php tutorial pdf,php designer 8 tutorial,php designer 8 tutorial pdf,macromedia dreamweaver 8 php tutorial,phpmaker 9 tutorial,cloud 9 php tutorial,phprunner 9 tutorial,phpmaker 9 tutorial pdf,phpstorm 9 tutorial,tutorial php,tutorial php mysql,tutorial php native,tutorial php pdf,tutorial php dan mysql,tutorial php codeigniter,tutorial php lengkap,tutorial phpmaker pdf,tutorial phpmyadmin,tutorial php api,tutorial php advanced,tutorial php array,tutorial php ajax,tutorial php admin,tutorial php apache,tutorial php ajax jquery,tutorial php ajax mysql,a php tutorial for beginners,a complete php tutorial,a complete php tutorial pdf,tutorial php bahasa indonesia,tutorial php bagi pemula,tutorial php blog,tutorial php beginner,tutorial php backend,tutorial php bot telegram,tutorial php blockchain,tutorial php basico,php tutorial by tizag,tutorial php codeigniter pdf,tutorial php codeigniter bahasa indonesia,tutorial php curl,tutorial php connect mysql,tutorial php class,tutorial php composer,tutorial php contact form,tutorial php dasar,tutorial php dreamweaver cs6,tutorial php dan mysql lengkap,tutorial php dengan dreamweaver,tutorial php dasar lengkap pdf,tutorial php database,tutorial php duniailkom,tutorial php dreamweaver,tutorial php dasar pdf,tutorial di php,tutorial php excel,tutorial php eclipse,tutorial php en pdf,tutorial php ecommerce,tutorial php en netbeans,tutorial php editor,tutorial php ebook,tutorial php email form,tutorial php echo,tutorial php español,e commerce tutorial php,e commerce website tutorial php,mysql e php tutorial,e commerce website php tutorial download,ecommerce cart php tutorial,e-shop php tutorial,tutorial php framework,tutorial php form,tutorial php framework laravel,tutorial php for beginners,tutorial php framework codeigniter,tutorial php facebook api,tutorial php firebase,tutorial php-fpm,tutorial php foreach,tutorial php file upload,tutorial php generator for mysql,tutorial php gtk,tutorial php generator for mysql professional,tutorial php graphql,tutorial php grid,php tutorial github,php tutorial get,tutorial gammu php mysql,php tutorial get post,tutorial gettext php,tutorial php html,tutorial php html mysql,tutorial php html css,tutorial php html5,php tutorial hello world,tutorial highcharts php mysql,tutorial htaccess php,php tutorial home and learn,tutorial heroku php,tutorial html2pdf php,tutorial php indonesia,tutorial php indonesia pdf,tutorial php injection,tutorial php.ini,tutorial php include,tutorial php it,php tutorial in w3schools,php tutorial interactive

codeigniter https,codeigniter hooks,codeigniter html2pdf,codeigniter hack,codeigniter hmvc template,codeigniter harviacode,codeigniter h,codeigniter insert,codeigniter insert batch,codeigniter insert_id,codeigniter inner join,codeigniter insert data,codeigniter ion auth,codeigniter import excel,codeigniter insert id,codeigniter install,session i codeigniter,for loop i codeigniter,codeigniter join,codeigniter join table,codeigniter jwt,codeigniter json,codeigniter jquery,codeigniter jquery ajax post data,codeigniter javascript,codeigniter join 2 table,codeigniter jwt tutorial,codeigniter json output,jquery in codeigniter,codeigniter kirim email,codeigniter kelebihan,codeigniter kaskus,codeigniter koneksi 2 database,codeigniter keuangan,codeigniter kenjis,codeigniter koolreport,codeigniter kint,codeigniter key generator,codeigniter keep form values after submit,codeigniter like,codeigniter left join,codeigniter last insert id,codeigniter library,codeigniter logo,codeigniter language,codeigniter login user level,codeigniter logo png,codeigniter load view,codeigniter l,codeigniter model,codeigniter multiple upload,codeigniter mongodb,codeigniter menurut para ahli,codeigniter multiple database,codeigniter mpdf,codeigniter migration,codeigniter mysqli,codeigniter mvc,fpdf codeigniter,codeigniter num_rows,codeigniter nginx,codeigniter not found,codeigniter news,codeigniter no input file specified,codeigniter notification,codeigniter nodejs,codeigniter number format,codeigniter num row,codeigniter news portal,codeigniter in php,replace in codeigniter,codeigniter order by,codeigniter online shop,codeigniter order by desc,codeigniter output,codeigniter orm,codeigniter or where,codeigniter only variable references should be returned by reference,codeigniter oracle,codeigniter oauth2,codeigniter or laravel,codeigniter o laravel,codeigniter o que é,codeigniter o symfony,usando o codeigniter,configurando o codeigniter,yii or codeigniter,o'reilly codeigniter,como usar o codeigniter,como instalar o codeigniter,como funciona o codeigniter,codeigniter pdf,codeigniter php,codeigniter php 7,codeigniter postgresql,codeigniter print pdf,codeigniter pagination example,codeigniter pdf library,codeigniter project,codeigniter post,codeigniter p,codeigniter qr code,codeigniter query string,codeigniter query like,codeigniter query count,codeigniter query limit,codeigniter query insert,codeigniter query builder join,codeigniter qr code example,codeigniter q&a,codeigniter redirect,codeigniter remove index.php,codeigniter result,codeigniter rest client,codeigniter route,codeigniter react,codeigniter rental mobil,codeigniter report generator,print_r codeigniter,codeigniter r n,r&os pdf codeigniter,codeigniter send email,codeigniter select,codeigniter select count,codeigniter sendgrid,codeigniter send email gmail,codeigniter session not working,codeigniter socket io,codeigniter sql server,codeigniter sql injection,codeigniter tutorial pdf,codeigniter transaction,codeigniter template bootstrap,codeigniter terbaru,codeigniter timezone,codeigniter truncate table,codeigniter template engine,codeigniter templating,codeigniter t,codeigniter t shirt,codeigniter t_const,codeigniter t point,codeigniter update,codeigniter user guide,codeigniter upload foto,codeigniter uri,codeigniter update database,codeigniter url,codeigniter unlink,codeigniter update data,codeigniter update batch,codeigniter validation,codeigniter vue,codeigniter vue js,codeigniter view,codeigniter vs,codeigniter vs laravel 2018,codeigniter versi terbaru,codeigniter visitor statistics,codeigniter vs yii,codeigniter v 2.1.4,codeigniter or cakephp,fuelphp vs codeigniter,codeigniter where,codeigniter where not,codeigniter where between,codeigniter websocket,codeigniter where or,codeigniter web service,codeigniter website,codeigniter where in array,codeigniter where not null,codeigniter xss_clean,codeigniter xml,codeigniter xss,codeigniter xampp,codeigniter xml parser,codeigniter xlsx,codeigniter x-www-form-urlencoded,codeigniter xmlrpc,codeigniter xlsx reader,codeigniter xdebug,codeigniter x-editable,codeigniter x-mailer,x-editable codeigniter example,x-api-key codeigniter,x-xss-protection codeigniter,codeigniter x laravel,codeigniter x-forwarded-for,codeigniter 2.x,codeigniter youtube,codeigniter you did not select a file to upload,codeigniter your system folder path does not appear to be set correctly,codeigniter you have specified an invalid database connection group,codeigniter your view folder path does not appear to be set correctly,codeigniter yield,codeigniter you don't have permission to access,codeigniter you have not selected a database type to connect to,codeigniter yt,codeigniter you don't have permission to access the requested object,codeigniter y bootstrap,ajax in codeigniter,codeigniter and angularjs,angular and codeigniter,codeigniter y postgresql,codeigniter y php,codeigniter y php 7,codeigniter y vue,codeigniter y oracle,codeigniter y firebase,codeigniter zip multiple files,codeigniter zip,codeigniter zip file download,codeigniter zend library,codeigniter zip add data,codeigniter zip archive,codeigniter zip folder,codeigniter zend barcode,codeigniter zip download,codeigniter zoho mail,codeigniter 000webhost,codeigniter 0day,codeigniter where 0,codeigniter undefined offset 0,codeigniter return $_config 0 =& $config,codeigniter duplicate entry '0' for key 'primary',codeigniter error reporting 0,dompdf 0.8.2 codeigniter,codeigniter cart price 0,codeigniter row(0),undefined offset 0 codeigniter,error reporting 0 codeigniter,error number 0 codeigniter,row(0) codeigniter,codeigniter 1.7.2,codeigniter 1.7.2 download,codeigniter 1.7.3,codeigniter 1.7,codeigniter 1.7 documentation,codeigniter 1.7.2 documentation,codeigniter 1 documentation,codeigniter 1.0,codeigniter 1.7.2 user guide,codeigniter 1.7.3 download,1 codeigniter redirect,codeigniter $1 route,http // 1 / codeigniter,limit 1 codeigniter,top 1 codeigniter,remove 1 codeigniter,missing argument 1 codeigniter,undefined offset 1 codeigniter,codeigniter 2.1.4,codeigniter 2.2.6,codeigniter 2018,codeigniter 2 database,codeigniter 2.2,codeigniter 2.1.3,codeigniter 2.2 stable,codeigniter 2 download,codeigniter 2 documentation,codeigniter 2,codeigniter 2 form validation,codeigniter 2 session,codeigniter 2 docs,codeigniter 2 to 3,codeigniter 3.1.9,codeigniter 3 tutorial,codeigniter 3 tutorial pdf,codeigniter 3.1.8,codeigniter 3 hmvc,codeigniter 3 multiple database,codeigniter 3 ebook,codeigniter 3.1.6,codeigniter 3 crud,codeigniter 3.1.7,codeigniter 3,codeigniter 3 htaccess,codeigniter 3 login,codeigniter 3 form validation,codeigniter 3 php 7,codeigniter 3 multiple file upload,codeigniter 404 page not found,codeigniter 4 tutorial,codeigniter 404,codeigniter 4 release date,codeigniter 404 hosting,codeigniter 4 download,codeigniter 403 forbidden,codeigniter 4 release,codeigniter 4 documentation,codeigniter 404 page not found localhost,codeigniter 4 vs laravel,codeigniter 4 features,codeigniter 4 hmvc,codeigniter 4 docs,codeigniter 500 internal server error,codeigniter 500,codeigniter 503 service unavailable,codeigniter 500 internal server error ubuntu,codeigniter 500 error loading model,codeigniter 502 bad gateway,codeigniter 500 error,codeigniter 500 error page,codeigniter 500 internal server error .htaccess,codeigniter 504 gateway timeout,codeigniter 5,angular 5 codeigniter,sximo 5 codeigniter,facebook sdk 5 codeigniter,undefined offset 5 codeigniter,codeigniter 5 star rating system,html5 codeigniter form,codeigniter 64 bit,6 codeigniter hacks,codeigniter centos 6,codeigniter phpmailer 6,base64 codeigniter,codeigniter mpdf 6,6 codeigniter hacks for the masters,codeigniter foundation 6,extjs 6 codeigniter,phpmailer 6 codeigniter,codeigniter 6,foundation 6 codeigniter,codeigniter php 7.1,codeigniter php 7.2,codeigniter centos 7,codeigniter php 7 session,codeigniter php 7.0,codeigniter php 7 mysql,codeigniter mpdf 7,codeigniter php 7.1 session,codeigniter php 7 error,php 7 codeigniter,mpdf 7 codeigniter,centos 7 codeigniter,php 7 codeigniter session,framework 7 codeigniter,centos 7 codeigniter remove index.php,nusoap php 7 codeigniter,codeigniter 7,mpdf 7 codeigniter 3,codeigniter 8192,codeigniter port 8080,codeigniter utf 8,codeigniter netbeans 8,codeigniter utf 8 encode,codeigniter netbeans 8.2,codeigniter netbeans 8 plugin,codeigniter netbeans 8.1 plugin,codeigniter iis 8,utf 8 codeigniter,netbeans 8 codeigniter,charset utf-8 codeigniter,codeigniter cloud 9,codeigniter debian 9,cloud 9 codeigniter,codeigniter,codeigniter adalah,codeigniter download,codeigniter upload,codeigniter 4,codeigniter form validation,codeigniter vs laravel,codeigniter session,codeigniter crud,codeigniter tutorial,codeigniter adminlte,codeigniter adminlte crud,codeigniter ajax,codeigniter api,codeigniter admin,codeigniter auth,codeigniter admin template,codeigniter atau laravel,codeigniter anchor,codeigniter a href,codeigniter a database error occurred,codeigniter a php error was encountered,codeigniter a session had already been started - ignoring session_start(),codeigniter a non-numeric value encountered,codeigniter a non well formed numeric value encountered,codeigniter a php error was encountered severity 8192,codeigniter a href helper,codeigniter a php error was encountered severity notice message undefined variable,codeigniter a php error was encountered core/common.php,codeigniter bootstrap,codeigniter blog,codeigniter between,codeigniter base_url,codeigniter bootstrap dashboard template,codeigniter between date,codeigniter builder,codeigniter belajar,codeigniter breadcrumb,codeigniter bootstrap 4,codeigniter cms,codeigniter captcha,codeigniter composer,codeigniter cart,codeigniter codepolitan,codeigniter controller,codeigniter curl,codeigniter count,codeigniter datatables,codeigniter database,codeigniter delete,codeigniter datatables server side,codeigniter dompdf,codeigniter download file,codeigniter dropdown from database,codeigniter distinct,codeigniter d,yesi d codeigniter,codeigniter email,codeigniter encrypt,codeigniter ebook,codeigniter export pdf,codeigniter export excel,codeigniter example,codeigniter ecommerce,codeigniter excel,codeigniter error 500,codeigniter edit data,codeigniter e-commerce,bootstrap ke codeigniter,codeigniter e-learning,ebook codeigniter,codeigniter e-library,e commerce codeigniter download,e commerce dengan codeigniter,e commerce using codeigniter,e-learning dengan codeigniter,codeigniter e commerce application,codeigniter form,codeigniter framework,codeigniter file upload,codeigniter firebase,codeigniter flashdata,codeigniter forum,codeigniter form select,codeigniter foreach,codeigniter fpdf,codeigniter get,codeigniter github,codeigniter group by,codeigniter get_where,codeigniter generator,codeigniter guide,codeigniter get row,codeigniter get url,codeigniter get current url,codeigniter get session,codeigniter hmvc,codeigniter htaccess,codeigniter helper,codeigniter hotel

pemrograman web mata kuliah,pemrograman web materi,pemrograman web menggunakan php,pemrograman web majumapan,pemrograman web menggunakan html,pemrograman web notepad++,bahasa pemrograman web.net,pemrograman web dengan vb.net,pemrograman web online shop,pemrograman web oop,pemrograman web online,kursus pemrograman web online,pemrograman web toko online,operator pemrograman web,pemrograman web ppt,pemrograman web perangkat bergerak,pemrograman web python,pemrograman web php pdf,pemrograman web pengertian,pemrograman web perpustakaan,pemrograman web penjualan,pemrograman web php mysql,quiz pemrograman web,pemrograman web rpl,pemrograman web dengan ruby,bahasa pemrograman web ruby,rpp pemrograman web,rpp pemrograman web dinamis kurikulum 2013,rpp pemrograman web dinamis kelas xi smk rekayasa perangkat lunak,rpp pemrograman web dan perangkat bergerak,rps pemrograman web,rpp pemrograman web doc,pemrograman web statis,pemrograman web seperti apakah yang harus dipelajari anak didik di zaman yang sudah serba online,pemrograman web sederhana,pemrograman web smk kelas x,pemrograman web smk ppt,pemrograman web semester 2,pemrograman web semester 2 pdf,pemrograman web server,pemrograman web service,pemrograman web terbaru,pemrograman web terbaik,pemrograman web tkj,pemrograman web table,pemrograman web teori,pemrograman web tabel,pemrograman web unpas,pemrograman web untuk pemula,pemrograman web ub,pemrograman web uii,pemrograman web 2 unindra,laporan pemrograman web ub,pemrograman web 1 unindra,materi pemrograman web untuk smk,pemrograman web dengan visual basic,pemrograman web dengan visual studio,pemrograman desktop vs web,video pemrograman web,pemrograman web wikipedia,pemrograman web kelas x semester 1,pemrograman web dengan xampp,pemrograman web kelas x smk,materi kelas x pemrograman web,pemrograman web x,pemrograman web yang ditentukan pada sisi client adalah,pemrograman web yang paling mendasar adalah,pemrograman web yang ditentukan pada sisi client,pemrograman web yang diproses pada komputer client adalah,bahasa pemrograman web yang paling banyak digunakan,bahasa pemrograman web yang paling mudah,contoh pemrograman web yang menggunakan php dan mysql,pemrograman web 1 pdf,pemrograman web 1 html,pemrograman web kelas 10,pemrograman web kelas 10 semester 2,pemrograman web kelas 11,pemrograman web semester 1,sap pemrograman web 1,makalah pemrograman web 1,silabus pemrograman web 1,pemrograman web 2 pdf,pemrograman web 2 dengan php,pemrograman web 2017,pemrograman web 2 kelas x,makalah pemrograman web 2,bahasa pemrograman web 2017,pemrograman web semester 2 kelas x,2 jenis pemrograman web,2 kategori pemrograman web,3 bahasa pemrograman web,pemrograman web 3,4 bahasa pemrograman web,5 bahasa pemrograman web,sebutkan 5 bahasa pemrograman web,pemrograman web dengan php 7,pemrograman web dengan php 7 betha sidik,9-c2-pemrograman web-x-1.pdf,pemrograman web,pemrograman web adalah,pemrograman web dinamis,pemrograman web pdf,pemrograman web kelas x,pemrograman web dinamis pdf,pemrograman web dan mobile,pemrograman web dasar,pemrograman web atau desktop,pemrograman web array,pemrograman web asp.net,pemrograman aplikasi web,pemrograman berbasis web adalah,bahasa pemrograman web adalah,pemrograman web dinamis adalah,pemrograman web di android,pemrograman web itu apa,pemrograman web berbasis framework,pemrograman web berbasis php,pemrograman web berbasis objek,pemrograman web berorientasi objek,pemrograman web berbasis jsp,pemrograman web berbasis oop,pemrograman web base,pemrograman web berbasis server,pemrograman web buku,pemrograman web css,pemrograman web ci,pemrograman web crud,pemrograman web client side,pemrograman web client,pemrograman web coding,teknik pemrograman web client,soal pemrograman web css,materi pemrograman web css,modul pemrograman web css,pemrograman web dengan php dan mysql,pemrograman web enterprise,pemrograman web ebook,pemrograman web enterprise adalah,soal pemrograman web essay,modul pemrograman web enterprise,ebook pemrograman web dinamis menggunakan php dan mysql,ebook pemrograman web dengan php dan mysql pdf,editor pemrograman web,ebook pemrograman web html,konsep pemrograman web dan enterprise,ebook pemrograman web,pemrograman web framework,pemrograman web formulir pendaftaran,pemrograman web frame,laporan pemrograman web filkom ub,pemrograman web membuat form,materi pemrograman framework web,fungsi pemrograman web,forum pemrograman web,pemrograman web gratis,pemrograman web gunadarma,pemrograman web gis,buku pemrograman web gratis,ebook pemrograman web gratis,belajar pemrograman web gratis,download buku pemrograman web gratis,soal uas pemrograman web gunadarma,gambar pemrograman web,pemrograman web html lengkap,pemrograman web html dengan notepad,pemrograman web html.pdf,pemrograman web html ppt,soal pemrograman web html,materi pemrograman web html,modul pemrograman web html,belajar pemrograman web html,tugas pemrograman web html,pemrograman web ii,pemrograman web teknik informatika,materi pemrograman web i,istilah pemrograman web,pemrograman web java,pemrograman web javascript,pemrograman web java pdf,pemrograman java web dengan netbeans,kursus pemrograman web jogja kabupaten sleman daerah istimewa yogyakarta,kursus pemrograman web jakarta,pemrograman web dengan javascript,kursus pemrograman web jogja kabupaten sleman daerah istimewa yogyakarta 55283,modul pemrograman web java,pemrograman web kelas xi,pemrograman web kelas 10 semester 1,pemrograman web kelas x semester 2,pemrograman web kelas x semester 2 pdf,pemrograman web k13,pemrograman web lanjut,pemrograman web lanjutan,pemrograman web lengkap pdf,pemrograman web laravel,pemrograman web login,pemrograman web lengkap,materi pemrograman web lanjut,modul pemrograman web lengkap

Searching With Pagination Pada CodeIgniter

Searching with pagination pada codeIgniter

Hello! Masih semangat berkarya, kan? Yuk upgrading skill dulu!

Beberapa postingan saya sebelumnya membahas seputar framework CodeIgniter. Dan di antara postingan tersebut, saya membahas tentang CRUD sederhana CodeIgniter. Ya, CRUD (create, read, update, delete).. fitur umum yang sering kita jumpai di dalam aplikasi yang berinteraksi dengan database. Selain untuk memanipulasi data, ada fitur lain yang melengkapi dan harus selalu ada dalam fitur CRUD ini. Diantaranya adalah list data, pagination, validasi form & sanitasi, pencarian (searching), penyaringan (filter) & pengurutan (sortir) dan notifikasi, konfirmasi serta progress state. Karena sebelumnya kita sudah membahas tentang list data dan pagination, di edisi tutorial CodeIgniter kali ini kita akan membahas tentang Searching with pagination pada CodeIgniter. Dan seperti biasa, kita akan membuat project sederhana Searching with pagination pada CodeIgniter. Ok, let's start!

Pencarian atau searching biasanya digunakan untuk mencari informasi berdasarkan keyword atau kata kunci tertentu. Hal ini diperlukan untuk memudahkan pengguna untuk menemukan informasi tanpa harus menggunakan waktu yang banyak hanya untuk mencari data yang akan diproses. Misalnya, kita akan mencari data pengguna dengan nama berawalan huruf 'G'. Belum tentu data ini berada di halaman paling depan 'kan? Bisa jadi ada di halaman yang kesekian ratus. Dan bagaimana kalau data dengan nama berawalan huruf G ada ratusan atau lebih? Hal ini tentu akan mengurangi kenyamanan pengguna dalam menggunakan aplikasi yang kita buat. Oleh karena itulah, fitur searching (pencarian) ini termasuk fitur yang penting dalam fitur CRUD.

Lalu apa fungsi pagination dalam proses pencarian? Karena data hasil pencarian yang ditampilkan itu selalu sedikit. Boleh jadi data yang ditampilkan itu banyak, karena jumlah data keseluruhannya yang memang sudah banyak. Atau karena keyword yang digunakan untuk pencarian itu kurang sesuai untuk menampikan data yang diinginkan. Di sinilah pagination diperlukan. Untuk membatasi data yang ditampilkan.

Dan di seri tutorial CodeIgniter kali ini, kita akan coba mengimplementasikan Searching with pagination pada CodeIgniter. Di dalam contoh source code-nya, kita akan menampilkan data dari database ke dalam tabel. Kemudian kita akan coba melakukan pencarian data dengan memasukan keyword, lalu setelah diproses, data hasil pencarian akan ditampilkan sesuai dengan keyword. Dan data hasil pencarian tersebut akan dibatasi perhalamannya, sesuai dengan limit yang ditentukan. Lalu, apa saja langkah-langkah membuat fitur searching with pagination pada CodeIgniter? Try this out, ya!

Tutorial Project Searching With Pagination pada CodeIgniter

[1] Persiapan

Kawan, kalau kamu bertanya, apa saja sih yang diperlukan untuk mengikuti tutorial kali ini? check this out ya!
  [a] XAMPP versi 5.5.35 (Apache, PHP 5.5.35, dan MariaDB).
  [b] CodeIgniter versi 3.1.0

Saya asumsikan kamu sudah paham basic CodeIgniter tentang instalasi framework CodeIgniter. Jika belum, kamu boleh baca [Tutorial dasar CodeIgniter untuk Pemula] dulu.

Ok, lanjut... Nah, di tutorial kali ini, framework CodeIgniter yang sudah terinstall (yang disimpan di direktori C:\xampp\htdocs\), saya rename menjadi 'latihan_ci3'.


[2] Membuat Database

Karena aplikasi yang akan kita buat untuk project searching with pagination pada CodeIgniter ini berinteraksi dengan database, maka kita perlu membuat database terlebih dahulu. Untuk membuat database, kamu bisa menggunakan phpMyAdmmin yang sudah tersedia dalam Xampp. Sekarang buka browser kesayanganmu, lalu ketik alamat localhost/phpmyadmin/ untuk membuka phpMyAdmin. Lalu, buat database dengan nama 'latihan_ci3'

Setelah database kita buat, berikutnya kita akan membuat sebuah tabel dengan nama 'tbl_buku'. Untuk membuat tabel, klik database 'latihan_ci3' yang sudah dibuat, lalu klik menu SQL. Setelah itu ketik perintah SQL di bawah ini:

 -- --------------------------------------------------------  

--
-- Table structure for table `tbl_buku`
--

CREATE TABLE `tbl_buku` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`judul` varchar(100) NOT NULL,
`penulis` varchar(30) NOT NULL,
`isbn` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `tbl_buku`
--

INSERT INTO `tbl_buku` (`id`, `judul`, `penulis`, `isbn`) VALUES
(1, 'Learning PHP, MySQL & JavaScript', 'Robin Nixon', 'ISBN-13: 978-1491918661'),
(2, 'PHP and MySQL for Dynamic Web Sites', 'Larry Ullman', 'ISBN-13: 978-0321784070'),
(3, 'PHP Cookbook', 'David Sklar', 'ISBN-13: 978-1449363758'),
(4, 'Programming PHP', 'Kevin Tatroe', 'ISBN-13: 978-1449392772'),
(5, 'Modern PHP: New Features and Good Practices', 'Josh Lockhart', 'ISBN-13: 978-1491905012'),
(6, 'Modern PHP New Features and Good Practices', 'Josh Lockhart', 'ISBN-13: 978-1491905012'),
(7, 'Learning PHP MySQL & JavaScript', 'Robin Nixon', 'ISBN-13: 978-1491918661'),
(8, 'PHP and MySQL for Dynamic Web Sites', 'Larry Ullman', 'ISBN-13: 978-0321784070'),
(9, 'PHP Cookbook', 'David Sklar', 'ISBN-13: 978-1449363758'),
(10, 'Programming PHP', 'Kevin Tatroe', 'ISBN-13: 978-1449392772'),
(11, 'Modern PHP New Features and Good Practices', 'Josh Lockhart', 'ISBN-13: 978-1491905012'),
(12, 'Learning PHP MySQL & JavaScript', 'Robin Nixon', 'ISBN-13: 978-1491918661'),
(13, 'PHP and MySQL for Dynamic Web Sites', 'Larry Ullman', 'ISBN-13: 978-0321784070'),
(14, 'PHP Cookbook', 'David Sklar', 'ISBN-13: 978-1449363758'),
(15, 'Programming PHP', 'Kevin Tatroe', 'ISBN-13: 978-1449392772'),
(16, 'Modern PHP New Features and Good Practices', 'Josh Lockhart', 'ISBN-13: 978-1491905012'),
(17, 'Learning PHP MySQL & JavaScript', 'Robin Nixon', 'ISBN-13: 978-1491918661'),
(18, 'PHP and MySQL for Dynamic Web Sites', 'Larry Ullman', 'ISBN-13: 978-0321784070'),
(19, 'PHP Cookbook', 'David Sklar', 'ISBN-13: 978-1449363758'),
(20, 'Programming PHP', 'Kevin Tatroe', 'ISBN-13: 978-1449392772');



Iya, iya.. boleh langsung di-copy-paste juga kok!
Nah, kalau sudah, klik tombol 'Go' yang ada di kanan bawah untuk mengeksekusi perintah SQL tersebut. Dan tbl_buku berserta sample data-nya berhasil kita buat.

Searching with pagination pada codeIgniter


Searching with pagination pada codeIgniter



[3] Konfigurasi Database dan Base Url

Kalau kamu sudah baca [ Mudahnya Membuat Pagination Pada CodeIgniter], pasti kamu sudah paham cara konfigurasi database dan Base URL. Ya, pertama kita atur dulu base url project kita. kita buka file config.php yang ada di direktori latihan_ci3/application/config menggunakan teks editor, lalu kita cek line 26. Kita isi $config['base_url'] dengan http://localhost/latihan_ci3/, seperti gambar ini.

Searching with pagination pada codeIgniter


Setelah itu tekan CTRL+S untuk menyimpan kembali file config.php.

Selanjutnya, kita atur konfigurasi database. Buka file database.php dengan teks editor kesayanganmu. Ya, file ini ada di direktori yang sama seperti file config.php, yaitu latihan_ci3/application/config. Cek line 76, lalu atur konfigurasi database seperti di bawah ini:

 $db['default'] = array(
'dsn' => '',
'hostname' => 'localhost', //nama host
'username' => 'root', //isi dengan username, biasanya root
'password' => '', //isi password jika menggunakan password, jika tidak cukup dikosongkan
'database' => 'latihan_ci3',//isi dengan nama database yang kita buat, yaitu latihan_ci3
'dbdriver' => 'mysqli', //kita pakai mysqli untuk dbdrivernya
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);



Searching with pagination pada codeIgniter


Setelah kamu atur, simpan kembali file database.php dengan menekan CTRL+S.

Untuk berinteraksi dengan database, kita bisa menggunakan library database CodeIgniter. Sekarang kita buka file autoload.php (masih di direktori latihan_ci3/application/config). Cek line 61 (dalam file autoload.php), kita isi $autoload['libraries'] dengan database.

 $autoload['libraries'] = array('database');


Searching with pagination pada codeIgniter


Simpan kembali file autoload.php dengan menekan CTRL+S.


[4] Membuat Model (M_searching.php)

Sekarang, waktunya kita coding kawan! Semangat ya!
Pertama kita akan membuat file models dengan nama M_searching.php. Di dalam file tersebut terdapat class model dengan nama M_searching. Sebagai reminder, nama class dan nama file di dalam CodeIgniter itu harus sama. Kawan, kita akan membuat dua method yang akan kita gunakan untuk membuat fitur searching with pagination, yaitu:
  [a] lihat() :: Mengambil data dari tbl_buku, terdapat tiga parameter untuk limit, kondisi (like) dan juga offset. Berbeda dengan tutorial pagination, fitur searching ini menggunakan parameter tambahan yaitu kondisi (ditulis: $like) yang diambil dari keyword pencarian.

  [b] jumlah() :: Menghitung jumlah row data yang ada pada tbl_buku berdasar keyword yang digunakan dalam pencarian data jika menggunakan fitur searching.

Yuk sekarang buka kembali text editor kesayanganmu, lalu ketik kode di bawah ini ya...

 <?php
defined('BASEPATH') OR exit('No direct script access allowed');

class M_searching extends CI_Model{

//ambil data
function lihat($sampai, $dari, $like = ''){

if($like)
$this->db->where($like);

$query = $this->db->get('tbl_buku',$sampai,$dari);
return $query->result_array();
}

//hitung jumlah row
function jumlah($like=''){

if($like)
$this->db->where($like);

$query = $this->db->get('tbl_buku');
return $query->num_rows();
}
}



Kalau sudah diketik, tekan CTRL+S untuk menyimpan file models kita dengan nama M_searching.php di direktori latihan_ci3/application/models.

Searching with pagination pada codeIgniter



[5] Membuat View (v_paging.php dan v_searching.php)

Ya, kita akan membuat dua file views, yaitu v_paging.php dan v_searching.php. File v_paging.php digunakan untuk menampilkan data sebelum menggunakan fitur searching, itu artinya data ditampilkan tanpa menggunakan kondisi. Berbeda dengan file sebelumnya, file v_searching.php digunakan untuk menampilkan data saat kita menggunakan fitur searching. Yep, data ditampilkan berdasarkan keyword yang digunakan dalam pencarian.

Ok, sekarang kita coding lagi ya! Kita akan buat v_paging.php terlebih dahulu. Buka lagi text editor kesayanganmu, lalu ketik kode berikut ini:

 <?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html>
<head>
<title>
<?php echo $title; ?>
</title>
<style>
body {
font-family: 'Raleway', sans-serif;
}

#gp_head
{
text-align: center;
background-color: #61CAFA;
height: 66px;
margin: 0 0 -29px 0;
padding-top: 35px;
border-radius: 8px 8px 0 0;
color: rgb(255, 255, 255);
}

#gp_tabel {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
width: 80%;
border-collapse: collapse;
}

#gp_tabel td, #gp_tabel th {
font-size: 1em;
border: 1px solid #61CAFA;
padding: 3px 7px 2px 7px;
}

#gp_tabel th {
font-size: 1.1em;
text-align: center;
padding-top: 5px;
padding-bottom: 4px;
background-color: #61CAFA;
color: #ffffff;
}

#gp_tabel tr.alt td {
color: #000000;
background-color: #61CAFA;
}

#gp_tabel a {
border:solid 1px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
}

#gp_tabel a:hover,
#gp_tabel a.current
{
color:#FFFFFF;
box-shadow:0px 1px #EDEDED;
-moz-box-shadow:0px 1px #EDEDED;
-webkit-box-shadow:0px 1px #EDEDED;
}

#gp_tabel a:hover,
#gp_tabel a.current
{
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

#gp_tabel a
{
color:#58B0E7;
display:block;
text-decoration:none;
padding:7px 10px 7px 10px;
}

#pagination{
margin: 40 40 0;
}

ul.gp_pagination li a
{
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
}
ul.gp_pagination li
{
padding-bottom:1px;
}
ul.gp_pagination li a:hover,
ul.gp_pagination li a.current
{
color:#FFFFFF;
box-shadow:0px 1px #EDEDED;
-moz-box-shadow:0px 1px #EDEDED;
-webkit-box-shadow:0px 1px #EDEDED;
}
ul.gp_pagination
{
margin:4px 0;
padding:0px;
height:100%;
overflow:hidden;
font:12px 'Tahoma';
list-style-type:none;
}
ul.gp_pagination li
{
float:left;
margin:0px;
padding:0px;
margin-left:5px;
}
ul.gp_pagination li a
{
color:black;
display:block;
text-decoration:none;
padding:7px 10px 7px 10px;
}
ul.gp_pagination li a img
{
border:none;
}
ul.gp_pagination li a
{
color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
}
ul.gp_pagination li a:hover,
ul.gp_pagination li a.current
{
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}

#body {
margin: 0 15px 0 15px;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}

input[type=submit] {
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
color:black;

color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 4px 2px;
cursor: pointer;
}

input[type=submit]:hover {
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

input[type=text] {
width: 250px;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
padding:6px 9px 6px 9px;
font-size: 16px;
background-color: white;
background-image: url('searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;;
-webkit-transition: width 0.4s ease-in-out;
transition: width 0.4s ease-in-out;
}

.gp_btn ul {
list-style-type: none;
margin: 0;
padding: 0;
}

.gp_btn li {
display: inline-block;
}

.btn2 {
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
color:black;
display:block;

color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 4px 2px;
cursor: pointer;
}

.btn2:hover {
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}
</style>
</head>
<body>
<div id="container">
<div id="body">
<h1>Data Buku</h1>

<div class="gp_btn">
<ul>
<li>
<?php echo form_open('C_search/cari');?>
<input type="text" name="key" placeholder="Search..." size="50" required>
<input type="submit" name="search" value="Search">
<?php echo form_close();?>
</li>
<li><a class="btn2" href="<?php echo base_url(); ?>index.php/C_search/">Reload</a></li>
</ul>
</div>
<table id="gp_tabel">
<tr>
<th>No</th>
<th>Judul</th>
<th>Penulis</th>
<th>ISBN</th>
</tr>
<?php
if($this->uri->segment(3)){
$no=$this->uri->segment(3);
}
else{
$no=0;
}


foreach ($data_buku as $row)
{
$no++;
?>
<tr align=center>
<td><?php echo $no;?></td>
<td><?php echo $row['judul'];?></td>
<td><?php echo $row['penulis'];?></td>
<td><?php echo $row['isbn'];?></td>
</tr>
<?php
}
?>
</table>

<div id="pagination">
<ul class="gp_pagination">

<!-- Pagination links -->
<?php foreach ($links as $link) {
echo "<li>". $link."</li>";
} ?>
</ul>
</div>
</div>
</div>
</body>
</html>



Simpan file views (tekan CTRL+S) dengan nama v_paging.php di direktori latihan_ci3/application/views.

Selanjutnya, kita buat file v_searching.php, ketik lagi kode di bawah ini ya!

 <?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html>
<head>
<title>
<?php echo $title; ?>
</title>
<style>
body {
font-family: 'Raleway', sans-serif;
}

#gp_head
{
text-align: center;
background-color: #61CAFA;
height: 66px;
margin: 0 0 -29px 0;
padding-top: 35px;
border-radius: 8px 8px 0 0;
color: rgb(255, 255, 255);
}

#gp_tabel {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
width: 80%;
border-collapse: collapse;
}

#gp_tabel td, #gp_tabel th {
font-size: 1em;
border: 1px solid #61CAFA;
padding: 3px 7px 2px 7px;
}

#gp_tabel th {
font-size: 1.1em;
text-align: center;
padding-top: 5px;
padding-bottom: 4px;
background-color: #61CAFA;
color: #ffffff;
}

#gp_tabel tr.alt td {
color: #000000;
background-color: #61CAFA;
}

#gp_tabel a {
border:solid 1px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
}

#gp_tabel a:hover,
#gp_tabel a.current
{
color:#FFFFFF;
box-shadow:0px 1px #EDEDED;
-moz-box-shadow:0px 1px #EDEDED;
-webkit-box-shadow:0px 1px #EDEDED;
}

#gp_tabel a:hover,
#gp_tabel a.current
{
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

#gp_tabel a
{
color:#58B0E7;
display:block;
text-decoration:none;
padding:7px 10px 7px 10px;
}

#pagination{
margin: 40 40 0;
}

ul.gp_pagination li a
{
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
}
ul.gp_pagination li
{
padding-bottom:1px;
}
ul.gp_pagination li a:hover,
ul.gp_pagination li a.current
{
color:#FFFFFF;
box-shadow:0px 1px #EDEDED;
-moz-box-shadow:0px 1px #EDEDED;
-webkit-box-shadow:0px 1px #EDEDED;
}
ul.gp_pagination
{
margin:4px 0;
padding:0px;
height:100%;
overflow:hidden;
font:12px 'Tahoma';
list-style-type:none;
}
ul.gp_pagination li
{
float:left;
margin:0px;
padding:0px;
margin-left:5px;
}
ul.gp_pagination li a
{
color:black;
display:block;
text-decoration:none;
padding:7px 10px 7px 10px;
}
ul.gp_pagination li a img
{
border:none;
}
ul.gp_pagination li a
{
color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
}
ul.gp_pagination li a:hover,
ul.gp_pagination li a.current
{
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}

#body {
margin: 0 15px 0 15px;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}

input[type=submit] {
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
color:black;

color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 4px 2px;
cursor: pointer;
}

input[type=submit]:hover {
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}

input[type=text] {
width: 250px;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
padding:6px 9px 6px 9px;
font-size: 16px;
background-color: white;
background-image: url('searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;;
-webkit-transition: width 0.4s ease-in-out;
transition: width 0.4s ease-in-out;
}

.gp_btn ul {
list-style-type: none;
margin: 0;
padding: 0;
}

.gp_btn li {
display: inline-block;
}

.btn2 {
border:solid 1px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
padding:6px 9px 6px 9px;
color:black;
display:block;

color:#0A7EC5;
border-color:#8DC5E6;
background:#F8FCFF;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 4px 2px;
cursor: pointer;
}

.btn2:hover {
text-shadow:0px 1px #388DBE;
border-color:#3390CA;
background:#58B0E7;
background:-moz-linear-gradient(top, #B4F6FF 1px, #63D0FE 1px, #58B0E7);
background:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0.02, #B4F6FF), color-stop(0.02, #63D0FE), color-stop(1, #58B0E7));
}
</style>
</head>
<body>
<div id="container">
<div id="body">
<h1>Data Buku</h1>

<div class="gp_btn">
<ul>
<li>
<?php echo form_open('C_search/cari');?>
<input type="text" name="key" placeholder="Search..." size="50" required>
<input type="submit" name="search" value="Search">
<?php echo form_close();?>
</li>
<li><a class="btn2" href="<?php echo base_url(); ?>index.php/C_search/">Reload</a></li>
</ul>
</div>

<table id="gp_tabel">
<tr>
<th>No</th>
<th>Judul</th>
<th>Penulis</th>
<th>ISBN</th>
</tr>
<?php
if($this->uri->segment(4)){
$no=$this->uri->segment(4);
}
else{
$no=0;
}


foreach ($data_buku as $row)
{
$no++;
?>
<tr align=center>
<td><?php echo $no;?></td>
<td><?php echo $row['judul'];?></td>
<td><?php echo $row['penulis'];?></td>
<td><?php echo $row['isbn'];?></td>
</tr>
<?php
}
?>
</table>

<div id="pagination">
<ul class="gp_pagination">

<!-- Pagination links -->
<?php foreach ($links as $link) {
echo "<li>". $link."</li>";
} ?>
</ul>
</div>
</div>
</div>
</body>
</html>



Kalau sudah diketik, simpan file views (tekan CTRL+S) dengan nama v_searching.php di direktori latihan_ci3/application/views.

Nah, sekarang kita punya dua file views, file v_paging.php dan v_searching.php.

Searching with pagination pada codeIgniter

[6] Membuat File Controller (C_search.php)

And the last one, kita akan membuat file controller dengan nama C_search.php. Di dalamnya terdapat sebuah class controller yang memiliki dua method yaitu index dan cari. Method index digunakan untuk memproses data sebelum melakukan searching dan meload file view v_paging.php yang digunakan untuk menampilkan data. Sedangkan method cari digunakan untuk memproses fitur searching berdasarkan parameter yang diambil dari form pencarian sebagai keyword dan meload v_searching.php untuk menampilkan hasil pencarian.

Sekarang buka kembali text editor kesayanganmu, lalu ketik kode di bawah ini ya!


 <?php
defined('BASEPATH') OR exit('No direct script access allowed');

class C_search extends CI_Controller {

function __construct()
{
parent::__construct();
$this->load->helper(array('html','url','form'));
$this->load->library('pagination');
$this->load->model('m_searching');
}

public function index()
{
$dari = $this->uri->segment('3');
$sampai = 5;
$like = '';

//hitung jumlah row
$jumlah= $this->m_searching->jumlah();

//inisialisasi array
$config = array();

//set base_url untuk setiap link page
$config['base_url'] = base_url().'index.php/C_search/index/';

//hitung jumlah row
$config['total_rows'] = $jumlah;

//mengatur total data yang tampil per page
$config['per_page'] = $sampai;

//mengatur jumlah nomor page yang tampil
$config['num_links'] = $jumlah;

//mengatur tag
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['next_tag_open'] = "<li>";
$config['next_tagl_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tagl_close'] = "</li>";
$config['first_tag_open'] = "<li>";
$config['first_tagl_close'] = "</li>";
$config['last_tag_open'] = "<li>";
$config['last_tagl_close'] = "</li>";
$config['cur_tag_open'] = '&nbsp;<a class="current">';
$config['cur_tag_close'] = '</a>';
$config['next_link'] = 'Next';
$config['prev_link'] = 'Previous';

//inisialisasi array 'config' dan set ke pagination library
$this->pagination->initialize($config);



//inisialisasi array
$data = array();

//ambil data buku dari database
$data['data_buku'] = $this->m_searching->lihat($sampai, $dari, $like);

//Membuat link
$str_links = $this->pagination->create_links();
$data["links"] = explode('&nbsp;',$str_links );
$data['title'] = 'Tutorial Pagination CodeIgniter | https://recodeku.blogspot.com';

$this->load->view('v_paging',$data);
}

public function cari()
{

//mengambil nilai keyword dari form pencarian
$search = (trim($this->input->post('key',true)))? trim($this->input->post('key',true)) : '';

//jika uri segmen 3 ada, maka nilai variabel $search akan diganti dengan nilai uri segmen 3
$search = ($this->uri->segment(3)) ? $this->uri->segment(3) : $search;

//mengambil nilari segmen 4 sebagai offset
$dari = $this->uri->segment('4');

//limit data yang ditampilkan
$sampai = 5;

//inisialisasi variabel $like
$like = '';

//mengisi nilai variabel $like dengan variabel $search, digunakan sebagai kondisi untuk menampilkan data
if($search) $like = "(judul LIKE '%$search%')";

//hitung jumlah row
$jumlah= $this->m_searching->jumlah($like);

//inisialisasi array
$config = array();

//set base_url untuk setiap link page
$config['base_url'] = base_url().'index.php/C_search/cari/'.$search;

//hitung jumlah row
$config['total_rows'] = $jumlah;

//mengatur total data yang tampil per page
$config['per_page'] = $sampai;

//mengatur jumlah nomor page yang tampil
$config['num_links'] = $jumlah;

//mengatur tag
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['next_tag_open'] = "<li>";
$config['next_tagl_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tagl_close'] = "</li>";
$config['first_tag_open'] = "<li>";
$config['first_tagl_close'] = "</li>";
$config['last_tag_open'] = "<li>";
$config['last_tagl_close'] = "</li>";
$config['cur_tag_open'] = '&nbsp;<a class="current">';
$config['cur_tag_close'] = '</a>';
$config['next_link'] = 'Next';
$config['prev_link'] = 'Previous';

//inisialisasi array 'config' dan set ke pagination library
$this->pagination->initialize($config);



//inisialisasi array
$data = array();

//ambil data buku dari database
$data['data_buku'] = $this->m_searching->lihat($sampai, $dari, $like);

//Membuat link
$str_links = $this->pagination->create_links();
$data["links"] = explode('&nbsp;',$str_links );
$data['title'] = 'Tutorial Searching with Pagination CodeIgniter | https://recodeku.blogspot.com';

$this->load->view('v_searching',$data);
}
}



Setelah itu kita simpan file controller (tekan CTRL+S) dengan nama C_search.php dan kita simpan di direktori latihan_ci3/application/controllers.

Searching with pagination pada codeIgniter


[7] Uji Coba Project

Finally, semua file sudah kita buat. Jadi, kita punya empat file, yaitu file models M_searching.php, file views v_paging.php dan v_searching.php dan terakhir file controllers C_search.php. Nah, sekarang kita coba running project Searching with Pagination pada CodeIgniter yang baru saja kita buat. Buka browser kesayanganmu, lalu ketik alamat:

 http://localhost/latihan_ci3/index.php/C_search/


Voila~, di browser akan tampil seperti gambar di bawah ini!

Searching with pagination pada codeIgniter


Ya, ada tabel yang berisi data buku. Di atas tabel, ada form untuk melakukan proses pencarian atau searching dan juga tombol Reload untuk menampilkan kembali tabel buku. Nah, sekarang kita coba isi teks dengan keyword, lalu kita klik tombol search. Maka, hasil pencarian akan di tampilkan pada tabel.

Searching with pagination pada codeIgniter


Searching with pagination pada codeIgniter


Jika, data yang ditampilkan lebih dari 5, maka akan muncul pagination untuk membatasi data yang ditampilkan. Selain itu, kamu bisa juga melihat keyword pencarian ada pada url dan dijadikan sebagai parameter dalam pagination.

Searching with pagination pada codeIgniter


***


Dengan adanya fitur searching ini dapat memudahkan pengguna aplikasi yang kita bangun untuk menemukan data yang diinginkan dengan cepat, tepat dan efisien. Terima kasih sudah membaca tutorial Searching with Pagination Pada CodeIgniter ini sampai akhir. Apabila ada pertanyaan, kritik, saran, request atau ingin berkontribusi bisa disampaikan melalui kolom komentar atau melalui email gungunpriatna02@gmail.com.

Semoga bermanfaat. Sampai jumpai di edisi berikutnya. Tetap semangat berkarya ya! Happy coding!

***
Referensi:
Web Official CodeIgniter @ https://codeigniter.com
Documentasi CodeIgniter @ https://codeigniter.com/user_guide/
Pagination CodeIgniter @ https://codeigniter.com/user_guide/libraries/pagination.html
Database Reference @ https://codeigniter.com/user_guide/database/index.html


Searching With Pagination Pada CodeIgniter Rating: 4.5 Diposkan Oleh: Kabar Viral

Categories

Popular Posts