Advertisement
cahyadsn

MultiField Search with Pagination

May 24th, 2016
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.98 KB | None | 0 0
  1. <?php
  2. //koneksi ke database
  3. include('koneksi_db.php');
  4. $koneksi_db = mysqli_connect($host,$username,$password,$nama_db) or die (mysqli_error());
  5. ?>
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9.     <meta charset="utf-8">
  10.     <title>JQuery Print Area</title>
  11.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  12.     <link href="bootstrap.min.css" rel="stylesheet" media="screen">
  13.     <!-- css yang digunakan ketika dalam mode screen -->
  14.     <link href="style.css" rel="stylesheet" media="screen">
  15.     <!-- ss yang digunakan tampilkan ketika dalam mode print -->
  16.     <link href="print.css" rel="stylesheet" media="print">
  17.     <script src="jquery-1.10.2.min.js"></script>
  18.     <script src="printarea/PrintArea-master/js/jquery.printarea.js"></script>
  19.     <script>
  20.         (function($) {
  21.             // fungsi dijalankan setelah seluruh dokumen ditampilkan
  22.             $(document).ready(function(e) {
  23.                 // aksi ketika tombol cetak ditekan
  24.                 $("#cetak").bind("click", function(event) {
  25.                     // cetak data pada area <div id="#data-mahasiswa"></div>
  26.                     $('#data-mahasiswa').printArea();
  27.                 });
  28.             });
  29.         }) (jQuery);
  30.     </script>
  31.  <title>Lihat Data</title>
  32.     <!-- CSS untuk mempercantik tampilan-->
  33.         <style type="text/css">
  34.         td
  35.         {
  36.             text-align: center;
  37.         }
  38.         </style>
  39. </head>
  40. <?php
  41. //membentuk klausa where pencarian  
  42.   $sql=" FROM
  43.           student a
  44.           JOIN district b USING(district_id)
  45.           JOIN region c USING(region_id)
  46.           JOIN province d USING(province_id)
  47.         WHERE 1 "
  48.        .(isset($_GET['q']) && !empty($_GET['q'])?
  49.           " AND (a.student_name LIKE '%{$_GET['q']}%'
  50.            OR a.student_number LIKE '%{$_GET['q']}%') ":""
  51.        .(isset($_GET['g']) && !empty($_GET['g'])?
  52.           " AND a.student_gender LIKE '%{$_GET['g']}%' ":""
  53.        .(isset($_GET['d']) && !empty($_GET['d'])?
  54.           " AND a.district_id ='{$_GET['d']}' ":""
  55.        .(isset($_GET['r']) && !empty($_GET['r'])?
  56.           " AND b.region_id ='{$_GET['r']}' ":""
  57.        .(isset($_GET['p']) && !empty($_GET['p'])?
  58.           " AND c.province_id ='{$_GET['p']}' ":"";  
  59. //mencari banyak data yang ada dalam tabel  
  60.  $sqlCount = "SELECT COUNT(*) ".$sql;
  61.  $result=mysqli_query($koneksi_db,$sqlCount)
  62.          or die("query [{$sqlCount}] gagal, dengan pesan :".mysqli_error());
  63.  $rsCount = mysqli_fetch_array($result);  
  64.  $banyakData = $rsCount[0];  
  65.  $page = isset($_GET['page']) ? $_GET['page'] : 1;  
  66.  $limit = 5;  
  67.  $mulai_dari = $limit * ($page - 1);  
  68.  $sql_limit =  "SELECT
  69.                  a.student_number,a.student_name,a.student_gender,
  70.                  b.district_name,c.region_name,d.province_name "
  71.               .$sql
  72.               ." ORDER BY a.student_name LIMIT $mulai_dari, $limit";  
  73.  $hasil = mysqli_query($koneksi_db,$sql_limit);  
  74. //form pencarian dibawah  
  75. ?>  
  76. <body>
  77. <div class="navbar navbar-static-top">
  78.     <div class="navbar-inner">
  79.         <div class="container">
  80.             <a class="brand" href="http://jengkolberdarahbiru.esy.es">JengkolBerdarah</a>
  81.         </div>
  82.     </div>
  83. </div>
  84. <div class="container">
  85.     <div class="row">
  86. <fieldset>
  87.     <legend><h1>Cari Data Mahasiswa</h1></legend>
  88.         <div style="margin-bottom:15px;" align="right">
  89.         <form name="search" method="get" action="pencarian.php">  
  90.         Search: <input type="text" name="q"/>
  91.         <br />
  92.         <br />
  93.         Gender : <select name="g" id="g">
  94.                  <option value="">--SEMUA--</option>
  95.                  <option value="F">Female</option>
  96.                  <option value="M">Male</option>
  97.                  </select>      
  98.          District : <select name="d" id="d">
  99.             <option value="">--SEMUA--</option>
  100.             <?php
  101.             $sql = "select * from district";
  102.             $query = mysqli_query($koneksi_db,$sql);
  103.             while($data = mysqli_fetch_array($query)){
  104.                     echo "<option value=".$data['district_id'].">".$data['district_name']."</option>";
  105.                 }
  106.             ?>
  107.             </select>
  108.    Region : <select name="region" id="region">
  109.             <option value="">--SEMUA--</option>
  110.             <?php
  111.             $sql = "select * from region";
  112.             $query = mysqli_query($koneksi_db,$sql);
  113.             while($data= mysqli_fetch_array($query)){
  114.                     echo "<option value=".$data['region_id'].">".$data['region_name']."</option>";
  115.                 }
  116.             ?>
  117.             </select>
  118.    Province : <select name="p" id="p">
  119.             <option value="">--SEMUA--</option>
  120.             <?php
  121.             $sql = "select * from province";
  122.             $query = mysqli_query($koneksi_db,$sql);
  123.             while($data = mysqli_fetch_array($query)){
  124.                     echo "<option value=".$data['province_id'].">".$data['province_name']."</option>";
  125.                 }
  126.             ?>
  127.             </select>
  128.         <input type="submit" value="GO"/>  
  129.         </form>
  130.         </div>
  131.             <table width="100%" border="1px solid #000" style="border-collapse:collapse;" class="table table-condensed table-bordered table-hover" cellpadding="0" cellspacing="0">
  132.                 <tr style="background-color:#fc0;">
  133.                     <th>No</th>
  134.                     <th>Nim Mahasiswa</th>
  135.                     <th>Nama Mahasiswa</th>
  136.                     <th>Gender</th>
  137.                 </tr>
  138. <?php  
  139.     //menampilkan data  
  140.     $no=1;  
  141.     while ($dataSiswa = mysqli_fetch_array($hasil)) {  
  142.     echo '<tr>';  
  143.     echo '<td>' . ($no++) . '</td>';  
  144.     echo '<td>' . $dataSiswa['student_number'] . '</td>';  
  145.     echo '<td>' . $dataSiswa['student_name'] . '</td>';  
  146.     echo '<td>' . $dataSiswa['student_gender'] . '</td>';  
  147.     echo '</tr>';
  148. }  
  149. //membuat pagination  
  150. $banyakHalaman = ceil($banyakData / $limit);  
  151. echo 'Halaman: ';  
  152. $qStr=array('q','g','d','r','p');
  153. $qs='';
  154. foreach($qStr as $q) $qs=(isset($_GET[$q]) && !empty($_GET[$q]))?"&{$q}={$_GET[$q]}":"";
  155. for ($i = 1; $i <= $banyakHalaman; $i++) {  
  156.  if ($page != $i) {  
  157.   echo "[<a href='pencarian.php?page={$i}{$qs}'>{$i}</a>]";  
  158.  } else {  
  159.   echo "[$i] ";  
  160.  }  
  161. }  
  162. ?>
  163.             </table>
  164.       <?php echo '<a href="cetak.php"><button id="cetak" class="btn pull-right">Cetak</button></a> '; ?>
  165. </fieldset>
  166. </body>
  167. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement