Type something and hit enter

By On
advertise here

Dalam tutorial ini, kita akan melihat tentang aplikasi PHP sederhana untuk operasi pembuatan, baca, perbarui dan hapus (CRUD) database.Dengan operasi CRUD ini, kami juga akan memiliki fitur pencarian dan paginasi yang terintegrasi dengannya.
Sebelumnya, kami melihat CRUD dengan AJAX dan CRUD tanpa AJAX(keduanya tidak memiliki pencarian dan pagination). Sekarang dalam tutorial ini, kita akan langsung melompat ke bagian pencarian dan pagination. Kode unduhan berisi operasi CRUD lengkap, fitur pencarian dan pagination.
php-crud-with-search-pagination

Cari Data dengan kata kunci menggunakan PHP dan MySQL

Kami memiliki opsi pencarian untuk mencari kolom Nama dan Kode dengan kata kunci yang diberikan diposting melalui form pencarian. Kata kunci pencarian digunakan untuk menemukan kecocokan dengan nilai kolom yang sesuai dengan menggunakan klausa MySQL LIKE . Jika kecocokan ditemukan maka hasilnya akan dibaca dan ditampilkan pada halaman daftar dengan pagination.
Kode untuk form pencarian adalah,
  <form name = "frmSearch" method = "pos" action = "index.php">
  <div class = "search-box">
  <p>
  <input type = "text" placeholder = "Nama" name = "cari [nama]" class = "demoInputBox" value = "<? php echo $ name;?>" />
  <input type = "text" placeholder = "Kode" name = "cari [kode]" class = "demoInputBox" value = "<? php echo $ code;?>" />
  <input type = "submit" name = "go" class = "btnSearch" value = "Cari">
  <input type = "reset" class = "btnSearch" value = "Reset" onclick = "window.location = 'index.php'">
  </ p>
  </ div>
 </ form> 
Setelah mengirimkan formulir pencarian, kami mengakses kata kunci dari skrip PHP untuk membuat ketentuan pencarian untuk permintaan pilih. Kami memiliki kasus pengalih untuk membuat kondisi permintaan dengan LIKEclause. Kuncinya adalah,
  <? php
  require_once ("perpage.php"); 
  require_once ("dbcontroller.php");
  $ db_handle = new DBController ();
 
  $ name = "";
  $ code = ""; 
  $ queryCondition = "";
  if (! empty ($ _ POST ["search"])) {
   foreach ($ _ POST ["search"] sebagai $ k => $ v) {
    if (! empty ($ v)) {
     $ queryCases = array ("nama", "kode");
     if (in_array ($ k, $ queryCases)) {
      if (! empty ($ queryCondition)) {
       $ queryCondition. = "AND";
      } lain {
       $ queryCondition. = "WHERE";
      }
     }
     beralih ($ k) {
      case "nama":
       $ name = $ v;
       $ queryCondition. = "nama LIKE '".  $ v.  "% '";
       istirahat;
      case "kode":
       $ code = $ v;
       $ queryCondition. = "kode LIKE '".  $ v.  "% '";
       istirahat;
     }
    }
   }
  }
  $ orderby = "ORDER BY id desc"; 
  $ sql = "SELECT * FROM toy".  $ queryCondition;
  $ href = 'index.php';     
  
  $ perPage = 2; 
  $ page = 1;
  if (isset ($ _ POST ['page'])) $ page = $ _POST ['halaman'];
  $ start = ($ page-1) * $ perPage;
  if ($ start <0) $ start = 0;
  
  $ query = $ sql.  $ orderby.  "Batasi".  $ awal.  ",".  $ perPage; 
  $ result = $ db_handle-> runQuery ($ query);
 
  if (! empty ($ result)) $ result ["perpage"] = showperpage ($ sql, $ perPage, $ href);
 ?> 

Pagination PHP dengan Melestarikan Hasil Pencarian

Jika Anda telah memaginasi hasil pencarian berdasarkan Nama atau Kode dan ingin menavigasi halaman, kondisi pencarian pencarian harus dipertahankan.Jika kita memiliki tautan paginasi untuk navigasi halaman maka itu akan mengarahkan ke URL yang berbeda dan kondisi pencarian akan direset. Jadi, kami menggunakan tombol kirim untuk navigasi halaman.
  function perpage ($ count, $ per_page = '10', $ href) {
  $ output = '';
  $ paging_id = "link_perpage_box";
  if (! isset ($ _ POST ["page"])) $ _POST ["page"] = 1;
  if ($ per_page! = 0)
  $ pages = ceil ($ count / $ per_page);
  if ($ pages> 1) {  
   if (($ _ POST ["page"] - 3)> 0) {
    if ($ _ POST ["page"] == 1) $ output = $ output.  '<span id = 1 class = "current-page"> 1 </ span>';
    else $ output = $ output.  '<input type = "submit" name = "page" class = "perpage-link" value = "1" />';
   }
   if (($ _ POST ["page"] - 3)> 1) $ output = $ output.  '...';
   untuk ($ i = ($ _ POST ["page"] - 2); $ i <= ($ _ POST ["page"] + 2); $ i ++) {
    jika ($ i <1) melanjutkan;
    jika ($ i> $ pages) pecah;
    if ($ _ POST ["page"] == $ i) $ output = $ output.  '<span id ='. $ i. '  class = "current-page"> '. $ i.' </ span> ';
    else $ output = $ output.  '<input type = "submit" name = "page" class = "perpage-link" value = "'. $ i. '" />';
   }  
   if (($ pages - ($ _ POST ["page"] + 2))> 1) $ output = $ output.  '...';
   if (($ pages - ($ _ POST ["page"] + 2))> 0) {
    if ($ _ POST ["page"] == $ pages)
     $ output = $ output.  '<span id ='.  ($ halaman). '  class = "current-page"> '.  ($ halaman). '</ span>';
    lain    
     $ output = $ output.  '<input type = "submit" name = "page" class = "perpage-link" value = "'. $ pages. '" />';
   }
  
  }
  mengembalikan $ output;
 } 

MySQL Database Script

  CREATE TABLE IF NOT EXISTS `toy` (
   `id` int (8) NOT NULL AUTO_INCREMENT,
   `name` varchar (255) NOT NULL,
   `code` varchar (20) BUKAN NULL,
   `category` varchar (255) NOT NULL,
   `price` double NOT NULL,
   `stock_count` bigint (16) BUKAN NULL,
   PRIMARY KEY (`id`)
 ) 


Tutorial kode PHP ini diterbitkan pada 2 November 2014.





Click to comment